Also habe ich einen globalen Hotkey mit SetWindowsHookEx()
gemacht. Was ich will, ist, während ich die rechte Maustaste drücke, sollte es immer wieder Code ausführen. Das Problem ist, dass wenn ich die rechte Maustaste drücke, es nur einmal ausgeführt wird.SetWindowsHookEx, Ausführen von Code bei gedrückter Maustaste
Dies ist meine Callback-Funktion:
private static IntPtr ButtonHookCallback(int nCode, IntPtr wParam, IntPtr lParam)
{
if (nCode >= 0)
{
if (wParam == (IntPtr)WM_RBUTTONDOWN)
{
_m.rtbLog.AppendText("Right mouse button was clicked \n");
}
else if (wParam == (IntPtr)WM_LBUTTONDOWN)
{
_m.rtbLog.AppendText("Left mouse button was clicked \n");
}
}
return CallNextHookEx(MainWindow._hookId, nCode, wParam, lParam);
}
Der laufende Code erfordert wiederholt eine Schleife oder einen Timer. Sicherlich ist ein Timer, was Sie suchen gegeben, wie oft eine Schleife Schleife kann, wenn es von einem menschlichen Finger gestartet und gestoppt werden muss. Starte den Timer im mousedown, stoppe ihn mit mouseup notification. Der Timer ist im Allgemeinen auf ~ 16 Millisekunden genau. –