![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как определить какое приложение запускается [D6, WinXP]
Дубинин Алексей © (2003-10-31 21:55:00)
Здраствуйте. Вопрос такой. Как можно определить какое приложение запускается, зная путь к исполняемому файлу.
Т.е. программа должна определить, что, например, запускается калькулятор, причем до этого в программе написан путь к исполняемому файлу. Дайте хотя бы идею...как это можно выполнить. Заранее спасибо...
Дубинин Алексей (2003-11-02 18:33:00) [1]
Отвечу сам себе:
function SysMsgProc1(code : integer; wParam : word; lParam : longint) : longint; stdcall;
begin
if code < 0 then
begin
Result:= CallNextHookEx(GlobalData^.SysHook1, Code, wParam, lParam);
Exit;
end;
//************************
if code = HSHELL_WINDOWCREATEDthen
if GlobalData^.H>0 then SendMessage(GlobalData^.H, WM_CREATEAPP, wParam, lParam);
CallNextHookEx(GlobalData^.SysHook1, Code, wParam, lParam);
Result:= 0;
end;
GlobalData^.SysHook1 := SetWindowsHookEx( WH_SHELL, @SysMsgProc1, HInstance, 0);
Спасибо jonni
Song (2003-11-02 09:38:00) [2]
Ошибка в 17-ой строке, Алексей.
Дубинин Алексей (2003-11-01 22:01:00) [3]
> Игорь Шевченко © (31.10.03 22:13) [1]
> В форуме "система" был способ узнавания, что запустилось
> приложение.
Просмотрел много, но ничего не нашел. Воспользовался вариантом Юрия Зотова использовать WH_SHELL в глобальной ловушке, но ничего не вышло. Пробовал установить ловушку на WH_GETMESSAGE и отлавливать WM_CREATE, но не ловится данное сообщение. Помогите пожалуйста.
Игорь Шевченко (2003-10-31 22:13:00) [4]
В форуме "система" был способ узнавания, что запустилось приложение.