c#热键,每次点击只能执行一次任务。

问题描述 投票:0回答:0

我为我的程序创建了一些全局热键。当我点击我的热键时,程序会根据热键被按住的时间长短,多次执行热键的任务。我怎样才能解决这个问题,使它每次点击只执行一次任务,不管键被按住多长时间?我曾想过添加一个定时器,但这不是一个很好的解决方案。

我的代码。

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

请帮忙,谢谢

c# hotkeys
© www.soinside.com 2019 - 2024. All rights reserved.