0

重複の可能性:
c# で Windows キーを無効にするにはどうすればよいですか?

c# Windows アプリで Windows キーを無効にするにはどうすればよいですか?

4

1 に答える 1

1

このライブラリを見てください:

http://globalmousekeyhook.codeplex.com/

このライブラリを次のスニペットで使用する例として、WinKey + R の組み合わせを無効にすることができます。2 つのステップがあります。 1. 組み合わせを検出しますe.Handled = true。それが役に立てば幸い。

private KeyboardHookListener m_KeyboardHookManager;
private bool m_LeftWinKeyIsDown;
private bool m_RightWinKeyIsDown;

private void TestForm_Load(object sender, EventArgs e)
{
    m_KeyboardHookManager = new KeyboardHookListener(new GlobalHooker());
    m_KeyboardHookManager.KeyDown += HookManager_KeyDown;
    m_KeyboardHookManager.KeyUp += HookManager_KeyUp;
    m_KeyboardHookManager.Enabled = true;
}

private void HookManager_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode ==Keys.LWin) m_LeftWinKeyIsDown = true;
    if (e.KeyCode ==Keys.RWin) m_RightWinKeyIsDown = true;
    if ((m_LeftWinKeyIsDown || m_RightWinKeyIsDown) && e.KeyCode == Keys.R) e.Handled = true;
}

private void HookManager_KeyUp(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.LWin) m_LeftWinKeyIsDown = false;
    if (e.KeyCode == Keys.RWin) m_RightWinKeyIsDown = false;
}
于 2012-07-15T16:33:15.883 に答える