Форум: "Система";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];
ВнизКак узнать полный путь к исполняемому файлу процесса? Найти похожие ветки
← →
DuhcmanSoft © (2004-02-27 21:16) [0]Так как всетаки получить полный путь к исполняемому файлу процесса?
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);
на экране пустая строка
← →
Dimaxx © (2004-02-27 22:26) [1]Ты подсовываешь хендл окна, а не приложения. А это разные вещи. Подсунь HInstance - он есть у любого дельфийского приложения и все будет о"кей.
← →
Dimaxx © (2004-02-27 22:28) [2]Тьфу, если подсовываешь хендл другого приложения, то его можно получить через OpenProcess.
← →
DuhcmanSoft © (2004-02-28 07:48) [3]Dimaxx © (27.02.04 22:26) [1]
Ты подсовываешь хендл окна, а не приложения. А это разные вещи. Подсунь HInstance - он есть у любого дельфийского приложения и все будет о"кей
HInstance показывает путь к моей проге, а мне нужно чужой процесс
← →
easy © (2004-02-28 19:39) [4]http://www.delphiworld.narod.ru/base/exe_name_by_handle.html
← →
DuhcmanSoft © (2004-02-28 19:51) [5]easy
Var D: String;
buff тоже масив (имя окна)
WinHandle:=FindWindow(nil,buff);
GetWindowThreadProcessId(WinHandle, pProcID);
D:=GetExeNameByProcID(WinHandle);
опять D = "" пустая строка
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.036 c