Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как узнать полный путь к исполняемому файлу процесса? [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 - он есть у любого дельфийского приложения и все будет о'кей.


Наверх

Титульная страница Поиск, карта сайта Написать письмо