Entwickler-Ecke
Windows API - WMHotKey blockt Eingaben
FrEaKY - Sa 02.08.08 11:50
Titel: WMHotKey blockt Eingaben
Ich hab einige WMHotkeys im Programm und zwar teilweise normale Buchstaben und das funktioniert auch alles aber.. wenn ich woanders zb notepad,word etc was eingebe mit diesen Tasten, reagiert nur mein Programm und die Tasten kommen bei Notepad nicht an.... wie kann ich das beheben?
Gausi - Sa 02.08.08 13:48
Wenn du die Hotkeys global registriert hast (iirc per RegisterHotkey), dann kannst du daran nur eins ändern: Such dir andere Hotkeys aus, die keine (oder weniger) Probleme machen. ;-)
Hidden - Sa 02.08.08 15:27
Dann aber auf jeden Fall an-, abschaltbar und den spezifischen Hotkey vom User wählbar :mahn:
FrEaKY - Sa 02.08.08 20:46
Hidden hat folgendes geschrieben: |
| Dann aber auf jeden Fall an-, abschaltbar und den spezifischen Hotkey vom User wählbar :mahn: |
ja, schon aber dafür brauch ich dann wieder ein weiteres Hotkey :(
weil das Programm soll komplett über die Tastatur steuerbar sein, auch wenns nicht im fokus oder minimiert ist ( ich hab nebenbei ein spiel laufen...)
FrEaKY - So 03.08.08 16:56
Gibt es denn eine einigermaßen gute alternative zu WMHotkey??
Hidden - So 03.08.08 20:18
Hi,
Problem ist ja, dass der Hotkey nur von deinem Programm verarbeitet wird und damit von nichts anderem mehr. Ich kenne mich mit der internen Verarbeitung von Hotkeys nicht aus, daher mal einfach ins blaue:
Angenommen, es läuft über WinMessages. Dann müsstest du eine eingene Message-Prozedur schreiben können. Dort setzt du einen Flag, löst den Hotkey neu aus -> dein Progi reagiert wegen des Flags nicht, andere bekommen den Hotkey -> setzt den Flag wieder auf false.
Es wird doch nicht um einen Bot gehen? :roll:
mfG,
FrEaKY - So 03.08.08 21:39
Hidden hat folgendes geschrieben: |
Hi,
Problem ist ja, dass der Hotkey nur von deinem Programm verarbeitet wird und damit von nichts anderem mehr. Ich kenne mich mit der internen Verarbeitung von Hotkeys nicht aus, daher mal einfach ins blaue:
Angenommen, es läuft über WinMessages. Dann müsstest du eine eingene Message-Prozedur schreiben können. Dort setzt du einen Flag, löst den Hotkey neu aus -> dein Progi reagiert wegen des Flags nicht, andere bekommen den Hotkey -> setzt den Flag wieder auf false.
Es wird doch nicht um einen Bot gehen? :roll:
mfG, |
doch, naja nicht so ganz... ich nenne es mal eine Spiel-Hilfe :lol:
Es ist aber kein Aimbot oder sonstige cheat software da kannst du beruhigt sein :wink:
Also muss ich jetzt die
procedure TForm1.WMHotKey(var Msg: TWMHotKey); Prozedur anders gestalten oder was? wie soll ich das genau machen?
Hidden - Mo 04.08.08 12:18
Hi,
vermutlich wird über den return-code vermittelt, dass der hotkey verarbeitet wurde. Also musst du entweder diesen return-code ändern oder die nachricht neu senden.
Wenn du sie eu sendest müsstest du dafür sorgen, dass du sie kein zweites mal bekommst. Das geht dann eventuell über einen Flag.
Bin allerdings zuversichtlich, dass es mit dem return-code geregelt ist.
mfG,
FrEaKY - Fr 08.08.08 00:25
Wo soll denn dieser return code sein?
Hidden - Fr 08.08.08 07:32
Hi,
Eine Message hat vier Parameter:
1: 2: 3: 4:
| Msg.Msg; Msg.HotKey; Msg.Unused; Msg.Result; |
Das sind aber blöderweise alles Integers.. Insofern müsste mal jemand, der Ahnung hat(<> me :mrgreen:) gerade schreiben, welcher Wert zugewiesen werden muss.
mfG,
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!