Pytanie: w jak sposób można dowiedzieć się czy dany klawisz został naciśnięty w konkretnej aplikacji mając uchwyt do niej? Czy jest to do zrobienia w WinAPI, a jeśli tak to w jaki sposób? Narazie bawię się GetKeyState/GetAsyncKeyState. Na wszelki wypadek zapodaje kod:
#pragma hdrstop#include <stdio.h>#include <windows.h>#pragma argsusedHANDLE ProcessHandle;HWND MpcHwnd;const DWORD fc = 0x019e0b1c;POINT point;int main(int argc, char* argv[]) { int frame_counter; MpcHwnd = FindWindow("MediaPlayerClassicW", NULL); if(!MpcHwnd) { puts("Uruchom najpierw MPC!"); return 1; } DWORD ProcessId; GetWindowThreadProcessId(MpcHwnd, &ProcessId); ProcessHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, ProcessId); while (!GetAsyncKeyState(32)) while (true) { if (GetAsyncKeyState(13)) return 0; ReadProcessMemory(ProcessHandle, (LPCVOID)fc, &frame_counter, 4, NULL); GetCursorPos(&point); printf("%d; %d; %d;\n", frame_counter, point.x, point.y); } CloseHandle(ProcessHandle); return 0;}