Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.19;
Скачать: CL | DM;

Вниз

Как определить наименование текущего приложения?   Найти похожие ветки 

 
sohat   (2004-08-03 11:08) [0]

Некоторая программа учитывает время работы в определенном приложении. Как перехватить ввод с клавы или с мышки меня научили - через глобальный хук. А как определить текущее приложение, которому предназначено событие от клавы или мыши?


 
Digitman ©   (2004-08-03 11:17) [1]

DWORD GetModuleFileName(

   HMODULE hModule, // handle to module to find filename for
   LPTSTR lpFilename, // pointer to buffer for module path
   DWORD nSize  // size of buffer, in characters
  );


Parameters

hModule

Identifies the module whose executable filename is being requested. If this parameter is NULL, GetModuleFileName returns the path for the file used to create the calling process.


 
sohat   (2004-08-03 14:28) [2]

Запущено три приложения, как узнать какое из них в данный момент активно (находится в фокусе)?


 
Игорь Шевченко ©   (2004-08-03 15:12) [3]


> Запущено три приложения, как узнать какое из них в данный
> момент активно


То, в котором сработал глобальный хук


 
sohat   (2004-08-03 15:43) [4]

То есть мое ?
А как же тогда определить приложение в котором работает юзер?


 
Digitman ©   (2004-08-03 15:55) [5]


> sohat   (03.08.04 15:43) [4]
> То есть мое ?


ты вообще-то себе представляешь весь механизм работы глоб.ловушки ? хотя бы на огурцах ?


 
Игорь Шевченко ©   (2004-08-03 16:07) [6]


> То есть мое ?


Если хук сработал в твоем, то твое. Если хук сработал не в твоем, то чужое. DLL с хуком загружается в адресное пространство каждого приложения, в котором срабатывает этот хук.


 
sohat   (2004-08-03 17:26) [7]

Честно говоря я с этим столкнулся впервые (Как и с API функциями вообще). Я понял так что ловушка ловит событие, обрабатывает его и отправляет дольше (это как на агурцах :) ). Теперь я понял так что хук может сработать несколько раз, в зависимости от того, сколько приложений откликнулось на событие. Если Вас не затруднит, подскажите пожалуйста как определить приложение на котором сработала ловушка (если можно на примере - с огурцами туго).


 
Игорь Шевченко ©   (2004-08-03 17:34) [8]


> Если Вас не затруднит, подскажите пожалуйста как определить
> приложение на котором сработала ловушка


см. Digitman ©   (03.08.04 11:17) [1]


 
Digitman ©   (2004-08-03 17:34) [9]

function MouseHook(..): Integer; stdcall;
begin
... чего-то там
 GetModuleFileName(0, ...); //ф-ция MouseHook вызвана в контексте приложения, имя исп.файла которого возвратила ф-ция GetModuleFileName
... чего-то там еще
end;



Страницы: 1 вся ветка

Текущий архив: 2004.09.19;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.047 c
1-1093937207
8ung
2004-08-31 11:26
2004.09.19
Чтение байтов из файла


9-1083360628
wiz
2004-05-01 01:30
2004.09.19
2D аркада на 3D движке (oGL). demo N8


1-1093978156
ghrup
2004-08-31 22:49
2004.09.19
TList и объекты -экземпляры классов


6-1089671512
Лев Ландау
2004-07-13 02:31
2004.09.19
Помогите в реализации хттп запроса ! ! !


14-1093589919
DVM
2004-08-27 10:58
2004.09.19
Microsoft ISA Server и полоса пропускания канала