anonymous
написал 27 декабря 2005 года в 11:20 (733 просмотра)
Ведет себя
неопределенно; открыл 1814 темы в форуме, оставил 5575 комментариев на сайте.
Ставлю хук:
#include
#include
#include
HHOOK HookHandle;
LRESULT CALLBACK
MouseProc( int nCode, WPARAM wParam, LPARAM lParam )
{
printf(«Mouse has been moved\n»);
if( nCode < 0 )
return CallNextHookEx( HookHandle, nCode, wParam, lParam);
return 1;
}
WINAPI main(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, INT nCmdShow)
{
HookHandle = SetWindowsHookEx( WH_MOUSE, (HOOKPROC)MouseProc, GetCurrentProcess(), 0 );
if( HookHandle )
printf( «Hook has been installed» );
else {
printf( «Can’t install hook» );
getch();
return -1;
}
UnhookWindowsHookEx( HookHandle );
return 0;
}
что не так?
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
читал?
Ты про это:
…
You must place a global hook procedure in a dynamic-link library (DLL) separate from the application installing the hook procedure. The installing application must have the handle to the DLL module before it can install the hook procedure. To retrieve a handle to the DLL module, call the LoadLibrary function with the name of the DLL. After you have obtained the handle, you can call the GetProcAddress function to retrieve a pointer to the hook procedure. Finally, use SetWindowsHookEx to install the hook procedure address in the appropriate hook chain. SetWindowsHookEx passes the module handle, a pointer to the hook-procedure entry point, and 0 for the thread identifier, indicating that the hook procedure should be associated with all threads in the same desktop as the calling thread
….
Да читал
в прошлий раз когда я спросил чтото подобное тыц дал мне ссылку на сайт откуда я скачал исходник ловли системных событий без DLL-ек,
и все таки можно использовать функции ЕХЕшника также как и DLL, если сделать функцию экспортируемой?
да. тока def надо писать
def чего? какой?
просьба ответить прямо без намеков и ссылок
да, и почему в VC работает а в MinGW и Buildere не работает?
def — это файл который описывает что именно ты экспортируешь из библиотеки
VC обладает полным набором библиотек и хедеров, совпадающими с текущей реализацией.
MinGW редкосное старье, причем нифига не полное…
Borland вообще непонятно что с собой тащит, так что почему в нем не работает — не знаю…