Witam, zrobiłem sobie prosty kod, który podpina się pod proces "calc.exe".
foreach (Process proc in Process.GetProcesses())
{
if (proc.ProcessName.Equals("calc"))
{
handle = OpenProcess(2035711, false, proc.Id);
}
}
Teraz chce wiedzieć o tym, że ktoś nacisnął na klawiaturze np. literkę ,,a" więc robię:
[DllImport("user32.dll")]
public static extern short GetAsyncKeyState(System.Windows.Forms.Keys nrKey);
while (true)
{
if (GetAsyncKeyState(System.Windows.Forms.Keys.A) != 0)
{
Console.WriteLine("Nacisniete zostalo a");
}
System.Threading.Thread.Sleep(10);
}
i tutaj następuje niespodzianka.
Faktycznie dostaję komunikat, że "a" zostało naciśnięte, ale, nawet gdy nie puszcze klawisza pętla ponownie mówi mi, że moje "a" zostało naciśnięte.
Jak rozpoznać w tej sytuacji interakcje:
- Click
- Press
- Down
?