Fenster reagiert nur bei Focus auf Message
-
Ich kann den Beitrag nicht editieren aber diese Stelle war falsch geschrieben:
if(hwnd == (HWND) lParam)da muss hin
if(hwnd == (HWND) wParam)Es klappt = sie stimmen überein.
-
Trotz der übereinstimmung der Handles Ich kann nichtmal auf die Listbox meiner Anwendung zugreifen, wenn ich das Handle an die DLL übergebe? Was stimmt da nicht?
-
Du solltest die MessageBox IN DER DLL ausgeben, und zwar dann, wenn auf 'A' gedrückt wird.
Zum wahrscheinlichen Problem: Das Fenster-Handle muss in der DLL als shared memory vorhanden sein. Welchen Compiler hast du?
-
Ich hab den VC++ 2008 Prof. Compiler und das hwnd ist in einem Daten-Segment enthalten:
Quellcode:
#pragma data_seg ("Shared")
HWND hwnd;
#pragma data_seg ()#pragma comment (linker, "/section:Shared,RWS") //Read Write Shared aktivieren
Diesen Teil habe ich aus dem Keyboardhook-Beispiel in der F.A.Q übernommen.
-
Hast du denn meinen Vorschlag mit der MessageBox jetzt mal ausprobiert?
-
Ja und das Ergebnis sagt, dass die Handles gleich sind.
-
Ich weiß nicht, was ihr beiden da für komisches Gefrickel fabriziert, aber es gibt hier schon seit JAHREN in der FAQ eine Anleitung mit Code für einen globalen Keyboard Hook. Denn eins ist jawohl klar, das Problem ist dein Hook Code, den du uns hier nicht zeigst.
-
Deine Antworten haben aber auch keinen Sinn oder? Mach dir ma ein Bild von was du da redest und les ma das Problem besser durch. Es geht nich darum, dass ich nich weis, wie man nen Keyboardhook schreibt. Es geht darum, dass wenn ein Key gedrückt wurde und an die Hauptanwendung geschickt wurde (was doch auch funktioniert!), dass das Fenster bestimmte Befehle verarbeiten soll, auch wenn es nicht aktiviert ist. Ich glaube einige kennen TeamSpeak und da wird sowas auch gebraucht.
-
LOL UND WARUM MEINST DU IST DAS SO DU ABGEBRANNTE BRATPFANNE? WEIL DU KEINEN GLOBALEN HOOK GESETZT HAST.
-
Komm ma runter, Kind (Bratwurst)^^ rofl...
Natürlich hab ich nen globalen Hook gesetzt und ich benutz auch ne DLL^^
-
jo dann funzt jawohl auch alles, wenn du es richtig gemacht hast, oder? aber nein es funzt nichts, weil du es falsch gemacht hast. aber wenn du uns deine ncode nicht zeigen willst, dann nerv uns hier bitte auch nicht weiter. wir können hier nicht hellsehen, weisst du.