VB.NET注册热键F12,或者屏蔽系统F12键

作者:超级管理员 更新时间:2017-10-31 09:59:24 来源:未知 点击:15642
如题。请各位大侠帮忙解决。以下是关于本问题的解决方案:解决方案1、看不懂,不是当前窗口,vs又不会响应f12解决方案2、引用 1 楼 shingoscar 的回复:看不懂,不是当前窗口,vs又不会响应
如题。请各位大侠帮忙解决。

以下是关于本问题的解决方案:

解决方案1、
看不懂,不是当前窗口,vs又不会响应f12
解决方案2、
引用 1 楼 shingoscar 的回复:
看不懂,不是当前窗口,vs又不会响应f12


全局热键
无论是不是当前窗口,只要键盘按下F12就会响应。
解决方案3、
Declare Auto Function RegisterHotKey Lib "user32.dll" (Byval handle As IntPtr, ByVal id As Integer, ByVal fsModifier As UInt32, ByVal vk As UInt32) As Boolean

'8888随便填
'123就是F12
RegisterHotKey (Me.Handle, 8888, 0, 123)

'然后在WnProc里处理786这个消息

解决方案4、
引用 3 楼 shingoscar 的回复:
Declare Auto Function RegisterHotKey Lib "user32.dll" (Byval handle As IntPtr, ByVal id As Integer, ByVal fsModifier As UInt32, ByVal vk As UInt32) As Boolean

'8888随便填
'123就是F12
RegisterHotKey (Me.Handle, 8888, 0, 123)

'然后在WnProc里处理786这个消息


试过了,不行的。注册失败
解决方案5、
    Public Const WM_HOTKEY As Integer = &H312
    Public Const MOD_ALT As Integer = &H1
    Public Const MOD_CONTROL As Integer = &H2

    Public Const MOD_SHIFT As Integer = &H4
    Public Const GWL_WNDPROC As Integer = (-4)
    Public Declare Auto Function RegisterHotKey Lib "user32.dll" Alias "RegisterHotKey" (ByVal hwnd As IntPtr, ByVal id As Integer, ByVal fsModifiers As Integer, ByVal vk As Integer) As Boolean
    Public Declare Auto Function UnRegisterHotKey Lib "user32.dll" Alias "UnregisterHotKey" (ByVal hwnd As IntPtr, ByVal id As Integer) As Boolean

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim isResult As Boolean
        isResult = RegisterHotKey(Handle, 0, 0, Keys.F12) '注册home的组合键 
        Me.Hide()
        If isResult = False Then
            MsgBox("注册热键失败")
            Me.Close()
        End If

    End Sub
    Private Sub Form1_clos(ByVal sender As System.Object, ByVal e As FormClosingEventArgs) Handles MyBase.FormClosing
        Dim isResult As Boolean
        isResult = UnRegisterHotKey(Handle, 0)
    End Sub

    '响应热键
    Protected Overrides Sub WndProc(ByRef m As Message)

        If m.Msg = WM_HOTKEY Then

        End If
        MyBase.WndProc(m)
    End Sub
解决方案6、
f12应该是没辙的,换个吧
引用
The F12 key is reserved for use by the debugger at all times, so it should not be registered as a hot key.
Even when you are not debugging an application,
F12 is reserved in case a kernel-mode debugger or a just-in-time debugger is resident.

https://msdn.microsoft.com/en-us/library/windows/desktop/ms646309(v=vs.85).aspx
解决方案7、
我的目的就是要屏蔽F12,换个都没问题。
解决方案8、
自己做全局键盘钩子解决了。

推荐阅读

热门内容

md5加密,要加密的串带有特殊字符

现在在做跨境物流,需要接法国物流接口。接...

winform客户端界面与其他软件相似,

项目开始的时候,领导一句话照着XXX软件...

Dev GridControl 单元格为

怎么阻止对话框弹出,并且在有空值得情况下...

“System.TypeInitiali

web是项目名称,在网上查说什么的都有,...

现在IT编程做网站是不是没前途了?感觉都

本人是从事1年多的程序猿,做asp.ne...

ViewBag和ViewData怎么 才

本帖最后由yangliweng2于201...

WPF 如何禁用ScrollViewer

以下是关于本问题的解决方案:解决方案1、...

GridControl 最后一列按回车键

GridControl  当光标在最后一...

ASP.NET中关于Theme的问题

我是设置了一个Default的主题。希望...

我用一个方法返回一个Image,保存为啥

我在方法中保存 ,就不会有问题,可是我想...

最新内容

C#基础问题:只读,关于Array.IsReadOnly和IList.IsReadOnly

不清楚为什么问题列表看不到我的问题,无奈再开一贴原题贴以下是关于本问题的解决方案...

md5加密,要加密的串带有特殊字符

现在在做跨境物流,需要接法国物流接口。接口需要传个安全秘钥,这个秘钥就是规定的几...

backgroundWorker关于Winform最简单的线程问题,请求各位指导一下

我想使用backgroundWorker1,启动应用后每隔20秒去读取数据库,看...

一个小问题求助

类似图中数据,要筛选出MesNum与InventoryNum不同的数据该怎么写 ...

WPF 自定义的DependencyProperty属性不被识别

定义了一个多选的Comobox,自定义依赖属性在调用时不被识别,不知道为什么。p...

ArcGis For JavaSrcipt 如何加载shp和dwg和dbf文件?

如何加载?跪求大神指导。并且可以清除掉!!以下是关于本问题的解决方案:...

一条sql语句,把重复记录的字段的值相加

本帖最后由NewCSDN2005于2017-10-2915:35:27编辑acc...

链接带的有?id=xxx,查询结果一直显示id为xxx的咋办?

一个链接,比如www.baidu.com链接要点进去直接显示某个人,而不是所有就...

通过数据库获取 like '%[螺丝]%' 怎么写代码!

通过数据库获取 like '%[螺丝]%' 怎么写代码SELECT top 5 ...

winform客户端界面与其他软件相似,需要修改界面

项目开始的时候,领导一句话照着XXX软件实现这些功能,项目全程就我一个人开发,然...

Dev GridControl 单元格为空验证弹框问题!!! 希望有人能解决了

怎么阻止对话框弹出,并且在有空值得情况下不允许添加新行以下是关于本问题的解决方案...

VS2015 报表已经有列,现在怎么动态生成列加进去(winform)

VS2015 报表已经有列,现在怎么动态生成列加进去(winform)以下是关于...

WebService 怎么跳过登录页面?

另外,WebService发布后,要替换哪些文件?bin文件夹里名字一样的就找到...

VB.NET注册热键F12,或者屏蔽系统F12键

如题。请各位大侠帮忙解决。以下是关于本问题的解决方案:解决方案1、看不懂,不是当...

“System.TypeInitializationException”类型的异常在 Web.dll 中发生,但未在用户代码中进行处理

web是项目名称,在网上查说什么的都有,也没有改对,请大家帮忙,怎么解决以下是关...

如何正确启动Explorer.exe

如何正确启动Explorer.exe我在实际项目中遇到的一个问题:客户要求开机输...

vs2015中stdin如何进行终止?

在vs2015中运行如下代码:int main(){unsigned int a...

现在IT编程做网站是不是没前途了?感觉都是"增删改查",可替换性太强了.

本人是从事1年多的程序猿,做asp.net的,做动态网站和管理系统的(包括前端和...

降频 不存在的

image1509379333929548.png(123.51KB,下载...

qt 鼠标移动到加载完图片的label后,对label中的图片实现放大镜功能!

鼠标一旦进入label和按键就会下沉到下面。后来重写QLabel还是不能实现该功...