用API函数定义热键又一法

Tsumiki7

Tsumiki7

2016-02-19 14:23

给自己一点时间接受自己,爱自己,趁着下午茶的时间来学习图老师推荐的用API函数定义热键又一法,过去的都会过去,迎接崭新的开始,释放更美好的自己。
土人的拙作《如何用API函数定义热键》在VB编程乐园发表后,很多网友纷纷来信,有的指出其中存在的问题并提出解决方的案(土人在此表示感谢!);有的则询问可不可以定义组合键等问题。土人不才,通过多方查找资料,才找到另一种定义热键的方法,在此把心得写出来,请各位网友指正!
  三个API函数是必须的:
  RegisterHotKey——用于定义热键
  UnregisterHotKey——用于注销热键
  PeekMessage——用于检测热键(尚有其它的主要用途)
  这里举个实例:程序启动后窗体不可见,按下Ctrl F12窗体弹出来。本例仅需要一个窗体,在PWin98、VB6.0企业版下调试通过。
  
  '申明API函数
  PrivateDeclareFunctionRegisterHotKeyLib"user32"(ByValhWndAsLong,ByValidAsLong,ByValfsModifiersAsLong,ByValvkAsLong)AsLong
  PrivateDeclareFunctionUnregisterHotKeyLib"user32"(ByValhWndAsLong,ByValidAsLong)AsLong
  PrivateDeclareFunctionPeekMessageLib"user32"Alias"PeekMessageA"(lpMsgAsMsg,ByValhWndAsLong,ByValwMsgFilterMinAsLong,ByValwMsgFilterMaxAsLong,ByValwRemoveMsgAsLong)AsLong
  
  PrivatebCancelAsBoolean'用于热键有效与否的变量
  
  '全局变量
  PrivateConstMOD_ALT=&H1
  PrivateConstMOD_CONTROL=&H2
  PrivateConstMOD_SHIFT=&H4
  PrivateConstPM_REMOVE=&H1
  PrivateConstWM_HOTKEY=&H312
  
  PrivateTypeMsg'定义Message类型
  hWndAsLong
  MessageAsLong
  wParamAsLong
  lParamAsLong
  timeAsLong
  EndType
  
  PrivateSubproMsg()'声明进程
  DimMessageAsMsg
  '循环直到bCancel为真
  DoWhileNotbCancel
  '检测到热键被按下则令窗体隐藏
  IfPeekMessage(Message,Me.hWnd,WM_HOTKEY,WM_HOTKEY,PM_REMOVE)Then
  Me.Visible=True
  EndIf
  DoEvents
  Loop
  EndSub
  
  PrivateSubForm_Load()'窗体加载时初始化程序
  DimretAsLong
  bCancel=False
  '定义热键为Ctrl F12
  ret=RegisterHotKey(Me.hWnd,&HBFFF&,MOD_CONTROL,vbKeyF12)
  Me.Visible=False'窗体不可见
  proMsg
  EndSub
  
  '退出时注销热键
  PrivateSubForm_Unload(CancelAsInteger)
  bCancel=True
  CallUnregisterHotKey(Me.hWnd,&HBFFF&)
  EndSub->

展开更多 50%)
分享

猜你喜欢

用API函数定义热键又一法

编程语言 网络编程
用API函数定义热键又一法

用API函数实现串行通讯

编程语言 网络编程
用API函数实现串行通讯

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

脸部_裂痕_又一法

PS PS教程
脸部_裂痕_又一法

用Visual C#调用Windows API函数

电脑网络
用Visual C#调用Windows API函数

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

用API函数控制光驱的开关

编程语言 网络编程
用API函数控制光驱的开关

API之绘图函数

编程语言 网络编程
API之绘图函数

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

一个关于乘法溢出问题的探讨

一个关于乘法溢出问题的探讨

cpu使用率不稳定忽高忽低怎么办

cpu使用率不稳定忽高忽低怎么办
下拉加载更多内容 ↓