Главная страница
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.081 c
14-1093937586
Chainik
2004-08-31 11:33
2004.09.19
Скачивание обновлений Win2K


4-1091455570
kingdom
2004-08-02 18:06
2004.09.19
GDI vs DirectDraw


8-1088135797
OFF
2004-06-25 07:56
2004.09.19
Альтернатива TCanvas и указателям?


3-1093228607
Lizka
2004-08-23 06:36
2004.09.19
String via VarChar2


1-1093574824
Sollo
2004-08-27 06:47
2004.09.19
motorola C330 SDK