Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Программирование под Windows > Delphi
Перезагрузить страницу Application.Handle как узгнать из одного приложения что зпущено
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
zsv zsv вне форума
Member
 
Сообщений: 47
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 27.06.2006
По умолчанию Application.Handle как узгнать из одного приложения что зпущено - 04.12.2006, 20:10

как из одного приложения узнать Application.Handle другого запущенного приложения?
Ответить с цитированием
  (#2 (permalink)) Старый
Гуменюк Роман Гуменюк Роман вне форума
Member
 
Сообщений: 115
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 16.01.2006
По умолчанию 05.12.2006, 11:02

Смотря что тебе нужно
может так:
Код:
 // Получаем ID процесса, которому принадлежит найденное окно
  GetWindowThreadProcessId(WindowHandle, @procid);
или так
Код:
Var
  Nm:Array[0..255] of Char;  // буфер для имени
  Cs: Array[0..255] of Char; // буфер для класса
  needWd: HWnd;

function EnumProc (Wd: HWnd; Param: LongInt): Boolean; stdcall; // Обязательно stdcall !!!
Begin
    GetWindowText(Wd, Nm, 255); // считываем  текст заголовка окна
    GetClassName(Wd, Cs, 255); // считываем название класса окна
    if pos('Заголовок окна', Nm) = 1 then
    begin
      needWd := Wd;
      founded:= true;
    end;
    EnumProc := TRUE;  // продолжать искать окна…
end;

procedure findWindow;
begin
  founded := false;
  EnumWindows (@EnumProc, 0); // и скажем - искать
  if not founded then needWd := 0;
end;
Ответить с цитированием
  (#3 (permalink)) Старый
zsv zsv вне форума
Member
 
Сообщений: 47
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 27.06.2006
По умолчанию 05.12.2006, 12:07

GetWindowThreadProcessId(WindowHandle, @procid) дает совсем другое значение (очевидно идентиф. процесса), нежели Application.Handle. Второй метод тоже дает идентификатор формы, а не приложения.
Ответить с цитированием
  (#4 (permalink)) Старый
Гуменюк Роман Гуменюк Роман вне форума
Member
 
Сообщений: 115
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 16.01.2006
По умолчанию 06.12.2006, 18:55

Цитата:
GetWindowThreadProcessId(WindowHandle, @procid) дает совсем другое значение (очевидно идентиф. процесса), нежели Application.Handle. Второй метод тоже дает идентификатор формы, а не приложения.

ты скажи для чего тебе нужен именно Application.Handle. уверен что можно и без него жить.
у меня несколько программ есть по взаимодействию с другими прогами. вышеприведенных данных хватало.
Ответить с цитированием
  (#5 (permalink)) Старый
zsv zsv вне форума
Member
 
Сообщений: 47
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 27.06.2006
По умолчанию 07.12.2006, 13:33

Цитата:
ты скажи для чего тебе нужен именно Application.Handle. уверен что можно и без него жить.
у меня несколько программ есть по взаимодействию с другими прогами. вышеприведенных данных хватало.
Решил банально. Просто при старте первой копии сохранил хендл в реестре, а при старте второй уже проверяю по этому хэндлу.
Ответить с цитированием
Ads.
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Значение CreateThread в виде HANDLE BaRaDeD Visual C++ 4 13.06.2007 12:20
Handle на Bitmap как переносить Sleem C++ Builder 1 08.12.2006 02:14
Handle на window как его получить Megaman Программирование графики 3 08.09.2006 17:15
Получить Handle формы Riccon .NET 0 31.07.2006 12:58
Handle что это значит gip Visual C++ 2 15.06.2006 10:03
Как узнать HANDLE и HINSTANCE Vitala Visual C++ 3 21.11.2005 12:42
Процессы и их Handle SkyHawk WinAPI 4 26.10.2005 05:51
Как получить по HANDLE процесса его HWND Omen WinAPI 7 10.02.2005 17:39
Как получить handle запущенной задачи Anonymous Delphi 0 01.12.2003 16:49
ID или handle Edit'a в определённом окне Lucifer C++ Builder 2 23.08.2003 18:43
ID или handle Edit в определённом окне Lucifer WinAPI 1 23.08.2003 18:30
Как узнать имя файла по HANDLE Anonymous Visual C++ 4 18.04.2003 22:11



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов