Ist es möglich, Schlüssel an ein Programm ohne SendMessage
und PostMessage
API zu senden?Schlüssel ohne SendMessage und PostMessage senden
Antwort
Die offizielle Art, Eingaben zu fälschen, besteht nicht darin, Windows-Nachrichten direkt zu senden oder zu veröffentlichen. Stattdessen sollen Sie SendInput
anrufen.
Wenn Sie SendInput
verwenden, ist es ununterscheidbar, die tatsächlichen Tasten tatsächlich zu drücken. Wenn Sie SendInput
aufrufen, um Tastatureingaben zu fälschen, sendet das System Nachrichten schließlich an die Nachrichtenwarteschlange des Vordergrundthreads, der das Fenster mit dem Tastaturfokus erstellte.
"nicht unterscheidbar": viele Poker-Kunden, die einen fortgeschrittenen Bot-Schutz haben, stimmen dem eher nicht zu :). Aber im Allgemeinen wird ein normales Programm keinen Unterschied sagen. – Cray
@Cray Wie bemerkt Poker Client einen Unterschied? – Alex
Zuletzt habe ich das recherchiert (vor ein paar Jahren), es wurde viel über GetAsyncKeyState gesprochen und wie SendInput diese Funktion nicht austricksen kann. Aber das war offensichtlich eine der einfachsten Methoden der Überprüfung (es ist sogar eine dokumentierte ring3-Funktion, nichts hinterhältig), und der Hut geht viel tiefer. – Cray
- 1. Was ist schneller: SetEvent, Sendmessage, Postmessage
- 2. Warum sendet PostMessage beim Senden von Kleinbuchstaben mehrere Schlüssel?
- 3. Senden/Empfangen einer Zeichenfolge durch PostMessage
- 4. PostMessage (hwnd, WM_SETTEXT, ..) funktioniert nicht während PostMessage (hwnd, WM_QUIT, ..) tut
- 5. Senden Array von Objekt von SendMessage
- 6. Senden eines großen Wörterbuchs über sendMessage - WatchKit
- 7. Ermitteln, ob PostMessage Objekte senden kann?
- 8. SendMessage kann keine benutzerdefinierte Nachricht an das Hauptfenster senden
- 9. So senden Sie virtuelle Schlüssel zu anderen Anwendung mit Delphi
- 10. Drag Drop mit SendMessage
- 11. In PostMessage und MessageChannel stecken
- 12. Wie verwende ich AutoHotkey PostMessage, um WM_WININICHANGE zum Programm-Manager zu senden?
- 13. SendMessage (WM_COPYDATA) + Record + String
- 14. Sendmessage bearbeiten Steuerflit C++
- 15. Verwenden von PostMessage zum Senden von Unicode-Zeichen
- 16. MFC - Senden von Daten über PostMessage an die GUI
- 17. "SendMessage" zu 3 verschiedenen Prozessen in C++
- 18. klicken Sie auf einen Kontextmenüeintrag mit sendmessage (oder ähnliche Funktion)
- 19. Opera Mini postmessage
- 20. Probleme mit sendMessage - WatchConnectivity
- 21. Crossdomäne postMessage, identifizieren iFrame
- 22. Buchse: senden und empfangen, ohne
- 23. Suchen nach PostMessage-Funktionalität in Qt
- 24. WPF - Schlüssel senden Redux
- 25. Antwort von SendMessage erhalten() + WM_COPYDATA
- 26. Problem in und lparam in Sendmessage (delphi)
- 27. Bot postMessage fehlt Symbol und Name
- 28. Erläuterung der SendMessage-Nachrichtennummern?
- 29. sendMessage() ist nicht definiert
- 30. SendMessage vs. WndProc
Es gibt sicherlich Methoden, die Sie nicht mit diesen spezifischen API verwenden, aber am Ende werden die Schlüssel immer noch mit den Nachrichtenwarteschlangen gesendet werden. Warum nicht direkt verwenden? – Cray
Da es so einfach ist, einfach eine WM_CHAR-Nachricht zu senden/zu posten, habe ich noch nie etwas anderes versucht. –