Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: -0.979 c
1-1094151092
alienserg
2004-09-02 22:51
2004.09.19
кол-во элементов в наборе set of.


4-1091707930
GuAV
2004-08-05 16:12
2004.09.19
Вопрос по OpenThemeData


14-1091091921
Красная Майка
2004-07-29 13:05
2004.09.19
Очередной MMP


3-1093087406
matt
2004-08-21 15:23
2004.09.19
передача указателя


3-1093260994
Desperado
2004-08-23 15:36
2004.09.19
Конфликты транзакций




   Наверх