Jest jakiś sposób żeby wykonała się funkcja SendInput() do zminimalizowanego okna (czyli takiego, które nie jest aktywne, nie jest 'na górze') ? Chciałbym wysłać np. keypress '5' do zminimalizowanego Kalkulatora za pomocą SendInput.

Aktualnie mam taki kod:

#define WINVER 0x0500
#include <windows.h>

int main()
{
    Sleep(2000);
    INPUT ip;

    ip.type = INPUT_KEYBOARD;
    ip.ki.time = 0;
    ip.ki.wVk = 0;
    ip.ki.dwExtraInfo = 0;

    ip.ki.dwFlags = KEYEVENTF_SCANCODE;
    ip.ki.wScan = 0x2E; // Unicode for letter 'A'

    // Press
    SendInput(1, &ip, sizeof(INPUT));

    // Release
    ip.ki.dwFlags = KEYEVENTF_SCANCODE | KEYEVENTF_KEYUP;
    SendInput(1, &ip, sizeof(INPUT));
}

Wysyła literę 'a' do aktywnego okna.

Taki kod działa dobrze do zminimalizowanego okna:

PostMessage(FindWindow(NULL, "Kalkulator"), WM_CHAR, '5', 0);

ale muszę skorzystać z SendInput, więc PostMessage, keybd_event(), SendMessage, itp. odpada.

Z góry dzięki za nakierowanie.


Nie ma dwóch takich samych bigosów