c# HotKeys, выполнять задачу только один раз за клик - PullRequest
0 голосов
/ 18 июня 2020

Я создал несколько горячих клавиш для своей программы. Когда я нажимаю горячую клавишу - программа выполняет заданную задачу горячей клавиши более одного раза в зависимости от того, как долго эта клавиша удерживается. Как я могу это исправить, чтобы он выполнял мои задачи только один раз за клик, независимо от того, как долго клавиша удерживается? Я думал добавить таймер, но это не лучшее решение.

мой код:

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
                }
}
}

Пожалуйста, помогите, спасибо

...