kfgz Opublikowano 22 Października 2007 Zgłoś Opublikowano 22 Października 2007 (edytowane) 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;} Edytowane 22 Października 2007 przez Dj_AnT Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 22 Października 2007 Zgłoś Opublikowano 22 Października 2007 (edytowane) na moje oko musisz założyć hooka na klawiaturę i sprawdzać czy komunikat o naciśnięciu idzie do Twojego okna... :) Wiecej o hookach na goglach. Edytowane 22 Października 2007 przez PelzaK Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...