[名称] 添加系统热键

原创 2002年08月21日 09:43:00

[名称]           添加系统热键

[语言种类]       Visual Basic

[类别一]         系统操控

[类别二]         VBAPI

[类别三]         底层开发

[数据来源]       shawls

[保存时间]       2002-08-19

[关键字一]       热键

[关键字二]       系统

[关键字三]       钩子

[内容简介]       空

[源代码内容]

Option Explicit

Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Private Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal ipfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
Private Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
Private Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal ncode As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WH_KEYBOARD = 2

Private hHook As Long
Private boolKeyUp As Boolean

Public Sub EnableHook()
hHook = SetWindowsHookEx(WH_KEYBOARD, AddressOf KeyFun, App.hInstance, 0)
End Sub

Public Sub DisableHook()
 UnhookWindowsHookEx (hHook)
End Sub

Function KeyFun(ByVal ncode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
'If (GetKeyState(&H10) And &HF0000000) Then   'shift key
Select Case wParam
    Case vbKeyF
         If boolKeyUp = True Then
             boolKeyUp = False
             MsgBox "f"
         Else
             boolKeyUp = True
         End If
         KeyFun = 1
         Exit Function
    Case vbKeyG
         If boolKeyUp = True Then
             boolKeyUp = False
             MsgBox "g"
         Else
             boolKeyUp = True
         End If
         KeyFun = 1
         Exit Function
End Select
'End If
KeyFun = CallNextHookEx(hHook, ncode, wParam, lParam)
End Function

 

     以上代码保存于: SourceCode Explorer(源代码数据库)
           复制时间: 2002-08-20 17:20:58
           软件版本: 1.0.730
           软件作者: Shawls
           个人主页: Http://Shawls.Yeah.Net
             E-Mail: ShawFile@163.Net
                 QQ: 9181729

[名称] 添加系统热键

  • zgqtxwd
  • zgqtxwd
  • 2008年05月01日 05:39
  • 104

Delphi RegisterHotKey 设置系统热键

首先先贴一张热键表 Symbolic constant name Value (hexadecimal) Keyboard (or mouse) equivalent ...
  • yanjiaye520
  • yanjiaye520
  • 2012年08月22日 15:33
  • 4306

在PB中实现系统热键功能

本方法可以实现在任何时候,即无论你的窗口是不是当前获得焦点的窗口,还是处于系统图标区,只要用户按下热键,都将触发窗口中的事件,在本例中实现窗口的状态切换。  1、首先我们必须声明Windows API...
  • Luckeryin
  • Luckeryin
  • 2008年11月28日 21:25
  • 1339

Windows热键注册原理

要像系统注册一个全局热键,需要用到RegisterHotKey,函数用法如下(MSDN):BOOL RegisterHotKey(                  HWND hWnd,       ...
  • testcs_dn
  • testcs_dn
  • 2014年05月05日 14:55
  • 6584

用DELPHI如何注册系统热键

以下为转贴:用到3个API函数 1、BOOL RegisterHotKey( HWND hWnd,  //响应该热键的窗口句柄 Int id,      //该热键的唯一标识 UINT fsModif...
  • qqp_528
  • qqp_528
  • 2008年04月14日 16:38
  • 4807

如何在你的java程序中注册系统级热键

所谓系统级热键就是指一组快捷键,不论当前系统焦点在哪个程序中,只要按下该键,程序就能够捕捉该事件并进行相关处理。该功能在应用程序中是非常有用的,比如系统自带的 “win+L”自动锁屏,QQ中默认的“c...
  • tianshi0253
  • tianshi0253
  • 2008年05月21日 10:30
  • 906

wpf 屏蔽热键

using System; using System.Windows; using System.Runtime.InteropServices; namespace WpfApplication1...
  • a771948524
  • a771948524
  • 2013年07月23日 21:56
  • 1730

win8.1快捷键和Eclipse冲突,win8.1快捷键占用,windows快捷键被占用,windows快捷键解除快捷键,解除windows快捷键,查看系统热键占用,查看windows快捷键占用

windows8 企业版 升级至 windows8.1
  • u013017597
  • u013017597
  • 2014年08月07日 14:14
  • 1903

详解VB中系统热键使用

最近弄这个很头疼了,没多少基础,不好理解,现在弄清楚了,这里总结一下. 先说要用到的API SetWindowLong GetWindowLong  '用来获取/设置窗口的消息处理函数地址,为什...
  • FranticBlack
  • FranticBlack
  • 2011年08月22日 14:44
  • 2814

用C# 屏蔽系统热键(包括禁止使用任务管理器)

一般来说会用到hook(钩子),即获取系统的按键或者鼠标动作,然后在系统响应之前执行自定义动作,或者直接截断这个消息, 这就是屏蔽系统热键的原理了。 首先要调用操作系统的dll文件,先引入命名空间 u...
  • maidou0921
  • maidou0921
  • 2009年06月18日 13:06
  • 9119
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[名称] 添加系统热键
举报原因:
原因补充:

(最多只允许输入30个字)