导航

« vb vb.net实用例子Keep at it Until You Get Lucky  »

vb.net 系统热键实例

虚位以待 VB.NET有些经常用到的程序,我们需要给它增加热键功能以方便快速调用,以下代码可以让vb.net中的主界面被热键Alt+2调出或隐藏,具体效果可以看牛牛记事
ASP/Visual Basic Code复制内容到剪贴板
  1.  Const MYKEYID1 As Integer = 9   
  2. Const MYKEYID2 As Integer = 10   
  3. Public Const MOD_ALT As Integer = &H1 'Alt key   
  4. 'Public Const VK_NUMPAD1 As Integer = &H61 'NumPad 1 key   
  5. 'Public Const VK_NUMPAD2 As Integer = &H62 'NumPad 2 key   
  6. Public Declare Function RegisterHotKey Lib "user32" (ByVal hwnd As IntPtr, ByVal id As IntegerByVal fsModifiers As IntegerByVal vk As IntegerAs Integer  
  7. Public Declare Function UnregisterHotKey Lib "user32" (ByVal hwnd As IntPtr, ByVal id As IntegerAs Integer  
  8. Public Const WM_HOTKEY As Integer = &H312   
  9. Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)   
  10.     If m.Msg = WM_HOTKEY And m.WParam.ToInt32 = MYKEYID1 Then  
  11.         'Me.Text = DateTime.Now.Second.ToString & "key 1"   
  12.         Me.WindowState = FormWindowState.Normal   
  13.     ElseIf m.Msg = WM_HOTKEY And m.WParam.ToInt32 = MYKEYID2 Then  
  14.         'Me.Text = DateTime.Now.Second.ToString & "key 2"   
  15.         'Me.WindowState = FormWindowState.Minimized   
  16.         If Me.WindowState = FormWindowState.Normal Then  
  17.             Me.WindowState = FormWindowState.Minimized   
  18.             'Me.ShowInTaskbar = False   
  19.             Hide()   
  20.         Else  
  21.             If rbt2.Checked = False Then  
  22.                 gbBiji.Visible = False  
  23.                 'gbShoucang.Visible = True   
  24.             Else  
  25.                 'gbShoucang.Visible = False   
  26.                 gbBiji.Visible = True  
  27.   
  28.             End If  
  29.   
  30.             Show()   
  31.             Me.WindowState = FormWindowState.Normal   
  32.             Me.ShowInTaskbar = True  
  33.  
  34.         End If  
  35.   
  36.   
  37.     End If  
  38.     MyBase.WndProc(m) 'Never Forget This   
  39. End Sub  
  40. Private Sub frmTXL_FormClosing(ByVal sender As ObjectByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing   
  41.   
  42.     WindowState = FormWindowState.Minimized   
  43.     Visible = False  
  44.     ' Me.ShowInTaskbar = False   
  45.   
  46.     If My.Settings.trayClose = True Then  
  47.         e.Cancel = True '不关闭   
  48.   
  49.     Else  
  50.         UnregisterHotKey(Me.Handle, MYKEYID1) 'Remember to unregister the hotkey   
  51.         UnregisterHotKey(Me.Handle, MYKEYID2) 'Remember to unregister the hotkey   
  52.   
  53.         End  
  54.     End If  
  55.   
  56.     '' Exit Sub   
  57.   
  58. End Sub '记录选择过的分组   

 此外还要在load事件中添加如下代码

ASP/Visual Basic Code复制内容到剪贴板
  1. RegisterHotKey(Me.Handle, MYKEYID1, MOD_ALT, CInt(Keys.D1)) '最后一个参数可变
  2. RegisterHotKey(Me.Handle, MYKEYID2, MOD_ALT, CInt(Keys.D2))


 更多参考:msdn

  • 顶一下
虚位以待




原创文章如转载,请注明:转载自落日故乡

本文链接地址:http://www.spersky.com/post/vbhotkey.html

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

内容搜索


虚位以待

常用链接

最新评论及回复

Powered By Z-Blog

Copyright spersky All Rights Reserved.Theme Moonlight,Calf modified.n 浙ICP备16017820号-1