Wyjaśnijcie mi proszę funkcję SendMessage
Ostatnio zmodyfikowano 2018-09-27 23:38
mrxardas Temat założony przez niniejszego użytkownika |
Wyjaśnijcie mi proszę funkcję SendMessage » 2018-09-27 23:31:21 Witam mam taki problem że nie do końca rozumiem czemu to tak działa. Szukałem czegoś co pozwoli mi wysyłać klawisze do zminimalizowanego okna, no i znalazłem taki o to kod, który wysyła notatnikowi klawisz z, zmodyfikowałem go tak aby wysłał klawisz x. To co mnie najbardziej w tym dziwi to to że najpierw wysyłam mu (w HEX) małe x potem duże X no i znowu małe x. W ostateczności pisze tylko jedną literkę czyli małe x. Wszelkie inne modyfikacje po prostu nie zadziałały. Powiedzcie mi dlaczego tak jest że trzeba wysyłać xXx aby uzyskać tylko x. I wyjaśnijcie mi proszę jeszcze jedną sprawę. Osoba która opisywała ten kod mówiła że trzeba pobrać spy++ jakieś tam parametry ( odnośnik https://stackoverflow.com/questions/33508849/how-to-send-keydown-event-to-inactive-window-in-c) i nie rozumiem po co są te ostatnie (np. 0x002C0001) w moim winspy są trochę inne mimo to aplikacja działa, bo chyba o nie chodzi co nie? dołączam zrzut ekranu z tymi parametrami. https://ibb.co/ig2SK9A oto kod: #include <windows.h> #include <iostream> #include <string>
int main() { LPCSTR Target_window_Name = "Untitled - Notepad"; HWND hWindowHandle = FindWindow( NULL, Target_window_Name ); HWND EditClass = FindWindowEx( hWindowHandle, NULL, "Edit", NULL ); while( true ) { SendMessage( EditClass, WM_KEYDOWN, 0x58, 0x002C0001 ); SendMessage( EditClass, WM_CHAR, 0x78, 0x002C0001 ); SendMessage( EditClass, WM_KEYUP, 0x58, 0xC02C0001 ); Sleep( 500 ); } return( 0 ); }
|
|
pekfos |
» 2018-09-27 23:38:34 |
|
« 1 » |