Я создал несколько горячих клавиш для своей программы. Когда я нажимаю горячую клавишу - программа выполняет заданную задачу горячей клавиши более одного раза в зависимости от того, как долго эта клавиша удерживается. Как я могу это исправить, чтобы он выполнял мои задачи только один раз за клик, независимо от того, как долго клавиша удерживается? Я думал добавить таймер, но это не лучшее решение.
мой код:
private static extern bool RegisterHotKey(IntPtr hWnd, int id, uint fsModifiers, uint vk);
// Unregisters the hot key with Windows.
[DllImport("user32.dll")]
protected override void WndProc(ref Message keyPressed)
{
if (keyPressed.Msg == 0x0312)
{
int id = keyPressed.WParam.ToInt32();
if (id == 1)
{
MY TASK that needs to only run once
}
}
}
Пожалуйста, помогите, спасибо