Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Wyjaśnijcie mi proszę funkcję SendMessage

Ostatnio zmodyfikowano 2018-09-27 23:38
Autor Wiadomość
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/ig2SK9
A oto kod:
C/C++
#include <windows.h>
#include <iostream>
#include <string>



int main()
{
    LPCSTR Target_window_Name = "Untitled - Notepad"; //<- Has to match window name
    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 );
}
P-172471
pekfos
» 2018-09-27 23:38:34
P-172472
« 1 »
  Strona 1 z 1