Главная страница
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.043 c
1-1094531963
Леприкон
2004-09-07 08:39
2004.09.19
Вставка знака диаметра в Excel


14-1093472027
Гарри Поттер
2004-08-26 02:13
2004.09.19
Outpost vs DMClient


1-1094462023
tria
2004-09-06 13:13
2004.09.19
Class TListBox not found - в чем смысл этой ошибки?


1-1094119034
вразлет
2004-09-02 13:57
2004.09.19
В чем м.б. лажа?


14-1093940607
DSKalugin
2004-08-31 12:23
2004.09.19
Что за расширение "*.nco"?