Vb.net 如何为我的程序优先使用键盘快捷键?

Vb.net 如何为我的程序优先使用键盘快捷键?,vb.net,Vb.net,如何为我的程序优先使用键盘快捷键 我有一个表单,我想在运行程序时禁用一些键,如Alt+F。 当运行另一个使用相同Alt+F键捕获屏幕的程序时出现问题,优先级为SnagIt 我无法禁用按键,并且我的屏幕对禁用按键没有响应。 如何禁用其他后台程序(如SnagIt)使用的快捷键 rivate Sub Mainfrm_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown If e.Alt And e.KeyCode

如何为我的程序优先使用键盘快捷键

我有一个表单,我想在运行程序时禁用一些键,如Alt+F。 当运行另一个使用相同Alt+F键捕获屏幕的程序时出现问题,优先级为SnagIt 我无法禁用按键,并且我的屏幕对禁用按键没有响应。 如何禁用其他后台程序(如SnagIt)使用的快捷键

rivate Sub Mainfrm_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown
    If e.Alt And e.KeyCode = Keys.F Then
        ' When the user presses both the 'ALT' key and 'F' key,
        ' KeyPreview is set to False, and a message appears.
        ' This message is only displayed when KeyPreview is set to True.
        'Me.KeyPreview = False
        MsgBox("KeyPreview is True, and this is from the FORM.")
    End If

    ''Print (ctrl, p)  + print screen  إلغاء مفاتيح البرنت سكرين  والبطاعة 
    If e.KeyData = 131152 Or e.KeyData = 131089 Then e.Handled = True
End Sub


对于记录,您不应将
e.KeyData
与数字文字进行比较。您应该使用
键的组合
值,例如
如果e.KeyData=Keys.Control或Keys.P,则
将检测
Ctrl+P
。有些人出于可访问性的原因使用其他程序和特殊键盘组合。你真的想阻止这些用户使用你的程序吗?不要以为你知道别人在运行什么程序,也不要以为你知道他们为什么选择这样做,也不要试图禁用其他程序。在你的程序中,你对此无能为力,斯纳吉特在你看到它之前偷走了击键。您需要为SnagIt选择更好的快捷键,Alt+F对正常程序使用的干扰太大@汉帕桑:是不是没有一个可编程性来解决这个问题。我想我们会在计时器工具中添加一个抛出方法。方法将发现并捕获SnagIt进程并将其杀死。