CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

请教如何用VB禁止使用热鍵?

楼主heijingang(黑金刚)2003-08-01 23:46:53 在 VB / 基础类 提问

我想要这样一个VB程序  
   
  这个程序一运行禁止用户使用ALT(让ALT鍵失灵   在任何应用程序中都不起作用)    
   
  用户通过热鍵可关闭这个程序   如CTRL+F1     关闭后ALT又可正常使用 问题点数:100、回复次数:7Top

1 楼since1990(level)回复于 2003-08-02 00:11:51 得分 10

捕获alt键的输入  
   
  找找吧,许多类似的源码Top

2 楼jounercool(静待花开)回复于 2003-08-02 09:57:55 得分 10

抢个2楼先  
   
  帮你顶下拉  
   
  接分快乐  
   
  谢谢Top

3 楼diyee(锦衣夜行)回复于 2003-08-02 10:00:44 得分 50

在   VB   的应用得到以前就处理键盘动作,实现对键盘的全面控制,   可过滤任意的键。下面的例子过滤了   CTRL+C   键,   并把该键模拟为在   Command1   上单击。  
   
  Public   Declare   Function   CallNextHookEx   Lib   "user32"   (ByVal   hHook   As   Long,   ByVal   nCode   As   Long,   ByVal   wParam   As   Long,   ByVal   lParam   As   Long)   As   Long  
   
  Public   Declare   Function   UnhookWindowsHookEx   Lib   "user32"   (ByVal   hHook   As   Long)   As   Long  
   
  Public   Declare   Function   SetWindowsHookEx   Lib   "user32"   Alias   "SetWindowsHookExA"   (ByVal   idHook   As   Long,   ByVal   lpfn   As   Long,   ByVal   hmod   As   Long,   ByVal   dwThreadId   As   Long)   As   Long  
   
  Public   Declare   Function   PostMessage   Lib   "user32"   Alias   "PostMessageA"   (ByVal   hwnd   As   Long,   ByVal   wMsg   As   Long,   ByVal   wParam   As   Long,   ByVal   lParam   As   Long)   As   Long  
   
  Public   Const   WH_KEYBOARD   =   2  
  Public   Const   KBH_MASK   =   &H20000000  
  Public   Const   WM_LBUTTONDOWN   =   &H201  
  Public   Const   WM_LBUTTONUP   =   &H202  
   
  Global   hHook   As   Long  
   
  'KeyboardProc   在   VB   应用动作前发生  
  Public   Function   KeyboardProc(ByVal   nCode   As   Long,   ByVal   wParam   As   Long,   ByVal   lParam   As   Long)   As   Long  
  If   nCode   >=   0   Then  
  '处理你希望过滤的键  
  If   wParam   =   Asc("C")   And   (lParam   And   KBH_MASK)   <>   0   Then  
  If   (lParam   And   &HC0000000)   =   0   Then  
  '模拟在Command1   中单击  
  Form1.Command1.SetFocus  
  Call   PostMessage(Form1.Command1.hwnd,   WM_LBUTTONDOWN,   0,   &H20002)  
  Call   PostMessage(Form1.Command1.hwnd,   WM_LBUTTONUP,   0,   &H20002)  
  KeyboardProc   =   1  
  Exit   Function  
  End   If  
  End   If  
  End   If  
  KeyboardProc   =   CallNextHookEx(hHook,   nCode,   wParam,   lParam)  
  End   Function  
   
  Private   Sub   Form_Load()  
  '将   KeyboardProc   连接到中断上  
  hHook   =   SetWindowsHookEx(WH_KEYBOARD,   AddressOf   KeyboardProc,   0&,   App.ThreadID)  
  End   Sub  
   
  Private   Sub   Form_Unload(Cancel   As   Integer)  
  Call   UnhookWindowsHookEx(hHook)  
  End   SubTop

4 楼ftp0697(Bismarck(a)人不风流枉少年)回复于 2003-08-02 10:02:58 得分 20

http://expert.csdn.net/Expert/topic/1774/1774255.xml?temp=.9921533Top

5 楼yamengyang(大杨)回复于 2003-08-02 10:03:01 得分 10

顶~~~  
  接分快乐~  
  Top

6 楼heijingang(黑金刚)回复于 2003-08-03 00:31:19 得分 0

谢谢各位兄弟Top

7 楼heijingang(黑金刚)回复于 2003-08-03 00:33:51 得分 0

谢谢各位Top

相关问题

  • vb 使用 RegisterServiceProcess
  • VB 中使用TAPI
  • 如何禁止使用键盘关机
  • vb.net使用axWebbrowser如何禁止右键?
  • 怎样禁止页面使用缓存!
  • 使用Hook禁止用户使用某些应用程序
  • VB中如何使用SetBitmapDimensionEx?
  • VB中怎么使用MSAgent
  • 在VB中使用Insert
  • vb使用sql 查询

关键词

  • vb
  • keyboardproc
  • byval
  • longpublic
  • hhook
  • ncode
  • 过滤
  • 键
  • as long
  • postmessage

得分解答快速导航

  • 帖主:heijingang
  • since1990
  • jounercool
  • diyee
  • ftp0697
  • yamengyang

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo