Zdravim, něco zkoušim a nějak nechápu proč to nejde přes nativní funkci.
Chtěl jsem odchytávat zprávy jako třeba stisknuté klávesy, pozici myši a různé operace s oknem přes moji aplikaci, ale nechápu proč to nejde.
// deklarace Peeku z winapi
[DllImport("User32.dll")]
public static extern bool PeekMessage(
out Message lpMsg,
IntPtr hWnd,
uint wMsgFilterMin,
uint wMsgFilterMax,
uint wRemoveMsg);
// ve vlastní funkci pak mám...
Process p = Process.GetProcessesByName("mspaint")[0]; // win-malovani
Message msg;
while (true)
{
if (ProcSpy.PeekMessage(out msg, p.Handle, 0, 0, 1)) // PM_REMOVE
{
// toto se mi nikdy nevykona, at delam cokoli ve win-malovani
// Console.WriteLine(msg);
// TranslateMessage(ref msg);
// DispatchMessage(ref msg);
}
}
Pokud někdo víte budu rád :)