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

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

Как отследить местоположение чужого приложения? [D6, Win95/98, Win2k]


Intell ©   (2003-04-25 07:15:00) 

У меня список запущенных приложений в ListBox`е. Я выделяю пункт (допустим Explorer), нажимаю кнопку (Button1) - как по нажатию по этой кнопке определить, где исходное приложение. Т.е. в Label1.Caption заносится - путь к исполняемому прцессу+название исполняемого файла данного процесса.
(Пример: C:\Windows\EXPLORER.EXE)

Ответы присылать и на форум, и на мыло, если не затруднит.

sergein@nojabrsk.ru


Intell   (2003-05-21 16:28:00) [1]

Ihor Osov"yak, вопрос плохо сформулировал, нужно подробней?


Ihor Osov'yak   (2003-05-03 21:19:00) [2]

2 Anatoly Podgoretsky © (02.05.03 18:16)

Да нет, Анатолий. Чел это хотел в результате. Да только так четко вопрос сформулировал....


Anatoly Podgoretsky   (2003-05-02 18:16:00) [3]

Твои слова?
Т.е. в Label1.Caption заносится - путь к исполняемому прцессу+название исполняемого файладанного процесса.


R4D][   (2003-05-02 17:57:00) [4]

Хм... Вот пример - находим имя фаила для себя, но вместо Handle можешь подставить любой другой... О GetWindowLong() писал Марко Кэнту("Delphi 6 для профессионалов"), она (функция) в данном случае находит HInstance для чужого процесса по хэндлу, на самом деле ее возможности более широкие, но это не важно в данном случае, GetModuleFileName() находит имя модуля по HInstance"у, ShowMessage() - показывает модальное диалоговое окно ala MessageBox(0,"","",MB_OK) :)))))

var
FileBuf : array[0..255] of Char;
WinInstance: THandle;
begin
WinInstance:=GetWindowLong(Handle,GWL_HINSTANCE);
GetModuleFileName(WinInstance,filebuf,sizeof(filebuf));
ShowMessage(filebuf);
end;


Intell   (2003-05-02 09:45:00) [5]

Повторюсь - примерчиком


Intell   (2003-04-29 18:28:00) [6]

Можно по конкретнее - примерчиком


default   (2003-04-25 19:39:00) [7]

а используя toolhelp ф-ии сразу выводить список исполняемых файлов процессов никак?


DVM   (2003-04-25 19:07:00) [8]

По хэндлу - процесс, по процессу - экзешник.


Intell   (2003-04-25 18:45:00) [9]

Anatoly Podgorestky, ой, прямо маленькие такие.... И что я вытяну из ItemIndex? Название строки? Ха! Мне нужно отследить исходное приложение. Известен лишь его хэндл в системе. Вот он-то и в ListBox`е. (Пример: Ты нажимаешь CTRL+ALT+DEL, видишь процесс. Тоже и у меня - срисок процессов. КАК ВЫЧИСЛИТЬ ИСПОЛНЯЕМЫЙ ФАЙЛ?)


Lord Warlock   (2003-04-25 10:37:00) [10]

Ты же не написал, что у тебя есть кроме имен файлов...

Можешь посмотреть OpenProcess и все ф-ции из той группы


Anatoly Podgorestky   (2003-04-25 10:31:00) [11]

Свойства TlistBox, например ItemIndex смотрел?
Книжки по Дельфи для самых маленьких?


Intell   (2003-04-25 10:16:00) [12]

Lord Warlock - Чаго...??? Он, по моему, тут даром не нужен. По моему надо через Handle и т.п...


Lord Warlock   (2003-04-25 09:27:00) [13]

Обыкновенныe FindFirst, FindNext, FindClose


Intell   (2003-04-25 09:01:00) [14]

ПЛИЗ, срочно надо!


Наверх

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