Форум: "WinAPI";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];
ВнизКак узнать имя файла запущенного приложения. Найти похожие ветки
← →
Uran (2004-06-26 15:15) [0]Уважаемые господа программисты помогите!! :)
Кароче нужно узнать имя файла запущенного приложения. А лучше если имена файлов всех запущщеных приложений на данный момент.
Пробую перебрать все окна с помощью EnumWindows. Смотрел функцию GetFileInformationByHandle котороая заполняет структуру BY_HANDLE_FILE_INFORMATION, но там нет даже сылки на имя файла , а только время , атрибуты и ещё чето. Может ещё какая есть? Если можно подскажите плиз.
СПАСИБА
← →
YuRock © (2004-06-26 15:22) [1]Не в ту сторону смотришь - не путай окна с процессами... Вот:
Uses tlhelp32;
//...
procedure LoadProcesses;
var
hSnap: THandle;
pe: TProcessEntry32;
begin
lvProcesses.Clear;
hSnap := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS or TH32CS_SNAPTHREAD, 0);
try
pe.dwSize := SizeOf(TProcessEntry32);
if Process32First(hSnap, pe) then repeat
ShowMessage(String(pe.szExeFile));
until not Process32Next(hSnap, pe);
finally
CloseHandle(hSnap);
end;
end;
← →
YuRock © (2004-06-26 15:24) [2]Да, lvProcesses.Clear; убери - я забыл :)
← →
Uran (2004-06-26 15:27) [3]А lvProcesses - это че за тип переменной?
← →
Uran (2004-06-26 15:28) [4]Понятно =))
← →
Uran (2004-06-26 15:32) [5]Ещё один вопрос если можно.
Мне надо сделать прогу на подобии WinSight но гораздо проще по интерфейсу. Я с хуками ещё на разбирался, если вас не затруднит может вы подскажите как создать хук чтоб следил за приложениями, и постоянно обновлял список запущенных приложений
← →
YuRock © (2004-06-26 15:40) [6]Ну, хук можно поставить с помощью ф-ции SetWindowsHookEx, да только он тут (по моему мнению) не поможет - они для несколько других целей нужны.
Вообще-то как-то (не занимался этой задачей) можно перехватывать запуск/закрытие процессов, но я бы советовал сделать просто, быстро и надежно:
например, по таймеру (скажем, с интервалом 1с.) обновлять список процессов. И все. Можно даже красиво - при обновлении не удалять все и читать заново, а вначале прочитать список, а затем, на основе сравнения с предыдущим списком, изменить его (если надо)
← →
YuRock © (2004-06-26 15:45) [7]А вообще у меня есть классная прога такого плана (лучшая в своем роде, лучше всяких-там WinSighnt"ов).
Называется она "WinTrace". Она показывает и обновляет (синхронно) весь список процессов системы с разбитием каждого на его потоки и окна (в виде дерева).
Там много всяких полезностей - трассирова сообщений, получение стилей окон и т.д. В общем - очень полезная прога.
Можешь оставить мыло - я вышлю. Только без исходников вышлю - не обижайся :)
Да, она работает только под 2k и XP
← →
Uran (2004-06-26 15:47) [8]Не просто такая тема, что препод вуза сказал эту прогу через глобальные хуки сделать, вот я тут и сижу гружусь как это сделать. У меня тоже такая мысля была через некоторые промежутки обновлять список, но преппод стопудов забракует.
Я пока в программировании не силен не подскажешь вообще что такое поток и чем он отличается от процесса?
Спасиба друг!
← →
Uran (2004-06-26 15:49) [9]У меня есть пару похожих прог, так что спасибо за предложение.
← →
YuRock © (2004-06-26 15:56) [10]> Я пока в программировании не силен не подскажешь вообще что такое поток и чем он отличается от процесса?
Процесс - это всего-лишь гловальный объект ядра, к которому привязано его адресное пространство, ресурсы, его потоки и т.д.
Поток (точнее - кодовый поток) - это набор команд, к-рые выполняет процессор. Вот и все. Винда просто ч-з определенные промежутки времени (еще зависит от приоритетов потоков) перебрасывает на проц потоки (по кругу).
Так что, в общем, поток и процесс - вещи вообще в принципе разные и сравнивать их нельзя...
← →
Uran (2004-06-26 16:01) [11]Ага спасибо, теперь понятно =)
← →
Игорь Шевченко © (2004-06-26 18:50) [12]
> А вообще у меня есть классная прога такого плана (лучшая
> в своем роде, лучше всяких-там WinSighnt"ов).
И лучше всяких там Spy++ ? Тогда делись
← →
YuRock © (2004-06-26 18:58) [13]> Тогда делись
Ну мыло дайте какое-нибудь, а то куда ж я делиться то буду...
← →
YuRock © (2004-06-26 18:59) [14]Если не хотите светить свой адрес - можете скинуть его на мой ящик - в ответе получите прогу.
← →
Игорь Шевченко © (2004-06-26 21:33) [15]YuRock © (26.06.04 18:58)
whitefranz@hotmail.com, извиняюсь, думал, в сообщении будет. Лимит ящика 600-700 кило
← →
chp0k (2004-07-04 16:58) [16]Тоже очень хочетЦа хакую прогу, кому не жалко? :)
← →
Vetek (2004-07-05 12:04) [17]И мне, please vetek@xaker.ru
← →
infom © (2004-07-05 12:15) [18]And me
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.036 c