Zum Keyhook aus der FAQ
-
Schade...(SCHEIßE...) Aber wieso nicht???
Es gibt doch Programme, die alles in einer EXE haben, oder?
-
hooks gehen nur mit dlls
-
Und wieso???
A´ßerdem komme ich mit dem Problem da oben sowieso nicht weiter...
-
Hi,
lerne erstmal lieber programmieren bevor du dich an einen hook wagst. wenn du das nicht verstehst wirst du mit dem hook auch nicht arbeiten können.
ich rate dir daher ertsmal einfche dinge zu erlernen.
Maiki
-
Ich hab ja nur mal den Quelltext kopiert und ausprobiert, aber ranwagen wollte ich mich ja gar nicht, wollte es nur mal ausprobieren...
-
Solange du uns Zeile 21 etc. vorenthälst kann dir auch keiner helfen...
-junix
-
die steht doch in der FAQ, ist genau der selbe Quelltext... Aber damit ihr euch jetzt nicht noch so viel Mühe machen müsst...:
//--------------------------------------------------------------------------- #include <vcl.h> #include <windows.h> #pragma hdrstop //--------------------------------------------------------------------------- #define WM_KEYHOOK WM_USER+100 HHOOK ghhookKB; HINSTANCE ghInst; #pragma argsused //--------------------------------------------------------------------------- int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved) { ghInst = hinst; return (1); } //--------------------------------------------------------------------------- extern "C" __declspec(dllexport) __stdcall void SetHook(void); //Z. 21 extern "C" __declspec(dllexport) __stdcall void RemoveHook(void); extern "C" __declspec(dllexport) __stdcall DWORD CheckKey(int, WORD,LONG); //--------------------------------------------------------------------------- void __stdcall SetHook(void) { HOOKPROC lpfnHookProc = NULL; lpfnHookProc = GetProcAddress(GetModuleHandle("keydll.dll"),"CheckKey"); ghhookKB = SetWindowsHookEx(WH_KEYBOARD, lpfnHookProc, ghInst, NULL); } //--------------------------------------------------------------------------- void __stdcall RemoveHook(void) { UnhookWindowsHookEx(ghhookKB); } //--------------------------------------------------------------------------- DWORD __stdcall CheckKey(int nCode, WORD wParam, LONG lParam) { HWND ghAppWnd = FindWindow("TKeyHookForm", 0); if((nCode < 0) || nCode == HC_NOREMOVE) return CallNextHookEx(ghhookKB, nCode, wParam, lParam); // Skip if it's a repeat if(lParam & 0x40000000) return CallNextHookEx(ghhookKB, nCode, wParam, lParam); // Send key information to the main window SendMessage(ghAppWnd, WM_KEYHOOK, 0, lParam); return CallNextHookEx(ghhookKB, nCode, wParam, lParam); } //---------------------------------------------------------------------------
[ Dieser Beitrag wurde am 24.05.2003 um 17:32 Uhr von aaaabyx editiert. ]
-
hmmmm irgendwie scheint die FAQ ja doch nicht Idiotensicher zu sein...
-
Kann deinen Fehler nicht nachvollziehen... bei mir wird anstandslos compiliert.
-junix
-
Ist ja auch komisch... hmmmmmm.....
Vielleicht sollte ich mir doch mal n neuen Builder besorgen...-aaaabyx
-
Ich glaub nicht, dass es am Builder liegt... schick mir mal dein Projekt:
-junix
-
hmmmmm vielleicht hast du recht aber ich hab das ganze 3mal versucht und es klappt einfach nicht... Aber moment ich schicks dir...
-
@junix: könntest du mir die dll bitte mal compilern und zusenden???
Wäre sehr nett von dir...(bitte NICHT an die TOnline sondern an die Yahoo-addy)
-
Ach neee, das hat gar keinen Sinn, weil das Programm auch nicht funktioniert: Es gibt da nämlich genau die gleichen Fehler...
Mann, woran kann das nur liegen?????
-
Hmmm mir ist gerade was aufgefallen: Wenn ich das
__stdcall
überall, wo es vorkommt lösche, compilert er anstandslos... Allerdings funktioniet der hook nicht...
-
Aber wieso???
Was hat mein Builder bitte gegen das__stdcall
, kann mir das jemand erklären???
-
Ic hasse sowas!!!!!!!!!!!
AAahhhhhhhhhhh das ist doch zum verrücktwerden
-
*grummmllll*
-
Zum Teufel mit ihnen...
-
goto Kindergarten;