![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать полный путь к исполняемому файлу процесса? [D7, Win2k, WinXP]
DuhcmanSoft © (2004-02-27 21:16:00)Так как всетаки получить полный путь к исполняемому файлу процесса?
var
Wnd : hWnd;
WinHandle : THandle;
buff: ARRAY [0..255] OF Char;
Для получения имени окна использую ->
GetWindowText(Wnd, buff, sizeof(buff);
Для получения Handle ->
WinHandle:=FindWindow(nil,buff);
Для получения полного пути исполняемого файла ->
GetModuleFileName(WinHandle, buff, SizeOf(buff));
результат ->
Lebel1.Caption:=StrPas(buff);
на экране пустая строка
DuhcmanSoft (2004-02-28 19:51:00) [1]easy
Var D: String;
buff тоже масив (имя окна)
WinHandle:=FindWindow(nil, buff);
GetWindowThreadProcessId(WinHandle, pProcID);
D:=GetExeNameByProcID(WinHandle);
опять D = '' пустая строка
easy (2004-02-28 19:39:00) [2]http://www.delphiworld.narod.ru/base/exe_name_by_handle.html
DuhcmanSoft (2004-02-28 07:48:00) [3]Dimaxx © (27.02.04 22:26) [1]
Ты подсовываешь хендл окна, а не приложения. А это разные вещи. Подсунь HInstance - он есть у любого дельфийского приложения и все будет о'кей
HInstance показывает путь к моей проге, а мне нужно чужой процесс
Dimaxx (2004-02-27 22:28:00) [4]Тьфу, если подсовываешь хендл другого приложения, то его можно получить через OpenProcess.
Dimaxx (2004-02-27 22:26:00) [5]Ты подсовываешь хендл окна, а не приложения. А это разные вещи. Подсунь HInstance - он есть у любого дельфийского приложения и все будет о'кей.