Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Warum geht das nicht

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
13.08.2011, 21:40 Uhr
KlausMaus




C++:
include <windows.h>

HWND hWindow;

HHOOK       hhkHook ;
HINSTANCE   hDllInstance;

LRESULT __declspec(dllexport)__stdcall  CALLBACK KeyboardHookProc (int nCode, WPARAM wParam, LPARAM lParam){
  
    if (nCode < 0)
        return CallNextHookEx (hhkHook, nCode, wParam, lParam);

        keybd_event('W',NULL,NULL,NULL);

        keybd_event('W',NULL,KEYEVENTF_KEYUP,NULL);

    return CallNextHookEx (hhkHook, nCode, wParam, lParam);
}


BOOL __declspec (dllexport)__stdcall InstallHook(HWND hParent)
{
    hWindow = hParent ;
    hhkHook = SetWindowsHookEx(WH_KEYBOARD, KeyboardHookProc, hDllInstance, NULL) ;

    return TRUE;
}

BOOL __declspec (dllexport)__stdcall CALLBACK UninstallHook( )
{
    UnhookWindowsHookEx (hhkHook) ;

    return TRUE ;
}

BOOL __stdcall CALLBACK Main( )
{
    do
    {
        InstallHook(FindWindowA(0,"Metin/warrock/. oder ein andres game wo bei 32 bit geblockt ist...."));
        Sleep(50);
        UninstallHook();
        Sleep(900);
    }while(true);

    return TRUE;
}

BOOL WINAPI DllMain( HMODULE hDll , DWORD dwReason, LPVOID lpReserved )
{
    if( dwReason == DLL_PROCESS_ATTACH )
    {
        hDllInstance = hDll;
        CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)Main, NULL, NULL, NULL);
    }
    return TRUE;
}



Warum geht das nicht also W wird nirgents wo gedrückt ...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
13.08.2011, 23:59 Uhr
Hans
Library Walker
(Operator)


Hi,

das ist ein Windows-spezifisches Problem, deshalb:
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.

Dieser Post wurde am 14.08.2011 um 00:00 Uhr von Hans editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
14.08.2011, 22:02 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


dir ist klar das der code da oben 2 verschiedene "Programme" darstellt? einmal eine Anwendung, und einmal eine DLL - welche den eigentlichen Hook-Code enthält.

ansonsten denke ich das du etwas falsch verstanden hast - der hook wird ausgelöst, wenn DU eine taste drückst
--
class God : public ChuckNorris { };

Dieser Post wurde am 14.08.2011 um 22:03 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
01.09.2011, 22:32 Uhr
~Klusi
Gast


kannst du ein beispiel machen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
01.09.2011, 22:34 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


ein beispiel?

"d"

so nun hab ich ein d gedrückt - nun wird dein hook aufgerufen?

oder was meinst du als beispiel?
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
01.09.2011, 22:53 Uhr
~Klausi
Gast


habs versucht aber klappt nicht
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
01.09.2011, 23:01 Uhr
~Klausi
Gast


oder könntest Source schicken wie du es gemacht hättest
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: