怎么在vb里实现热键设置隐藏呼出窗体的功能呢?
解决方案 »
- vb active dll中有无和end对应的语句?
- 怎样通过API进行屏幕拷贝?
- 求VB下的哈希算法函数。
- 请教一个传递数据的问题--高手请进
- 放分
- vb6的工具菜单下有一个添加控件集工具,可以添加按钮列表框,树状视图列表视图拆分条,移动钮列表框3种,请问还可以找到更多的控件集吗?
- 高手接分
- 怎样在对方电脑上屏幕弹出图片或文本(急!)
- 有谁知道可以从网上下载 vb5 的,最好是http网址?
- 使用断开的数据链接时在更新时出现问题,ADO高手快来?
- 请教,理论上,模式可以全部用类来代替吗?也就是将.bas文件,全部以.cls文件的方式来取代,从而体现处处都是类的理念.
- 关于美化界面的问题,有兴趣的有经验的一起来讨论讨论,提供下方法啊~~
' 声明API函数
Private Declare Function RegisterHotKey Lib "user32" (ByVal hWnd As Long, ByVal id As Long, ByVal fsModifiers As Long, ByVal vk As Long) As Long
Private Declare Function UnregisterHotKey Lib "user32" (ByVal hWnd As Long, ByVal id As Long) As Long
Private Declare Function PeekMessage Lib "user32" Alias "PeekMessageA" (lpMsg As Msg, ByVal hWnd As Long, ByVal wMsgFilterMin As Long, ByVal wMsgFilterMax As Long, ByVal wRemoveMsg As Long) As Long
Private Declare Function WaitMessage Lib "user32" () As Long
' 声明结构
Private Type POINTAPI
x As Long
y As Long
End Type
Private Type Msg
hWnd As Long
Message As Long
wParam As Long
lParam As Long
time As Long
pt As POINTAPI
End Type
' 声明常数
Private Const MOD_ALT = &H1
Private Const MOD_CONTROL = &H2
Private Const MOD_SHIFT = &H4
Private Const PM_REMOVE = &H1
Private Const WM_HOTKEY = &H312
Private HotKey_Flg As Boolean
Private Sub Form_Load()
Dim Message As Msg
'注册 Ctrl+Shift+I 为热键
RegisterHotKey Me.hWnd, &HBFFF&, MOD_CONTROL + MOD_SHIFT, vbKeyI
Me.Show
'等待处理消息
HotKey_Flg = False
Do While Not HotKey_Flg
'等待消息
WaitMessage
'检查是否热键被按下
If PeekMessage(Message, Me.hWnd, WM_HOTKEY, WM_HOTKEY, PM_REMOVE) Then
'打开计算器程序
Shell "calc.exe", vbNormalFocus
End If
'转让控制权,允许操作系统处理其他事件
DoEvents
Loop
End Sub
Private Sub Form_Unload(Cancel As Integer)
HotKey_Flg = True
'撤销热键的注册
Call UnregisterHotKey(Me.hWnd, &HBFFF&)
End Sub
*****************************************************************************
欢迎使用CSDN论坛阅读器 : CSDN Reader(附全部源代码)
http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
Unload Me
End Sub在窗體屬性里設置如下﹕
Borderstyle=0
ShowInTaskbar=False
Windowstate=1效果就是窗體最小化在任務欄﹐開始菜單的上方。
若把visible設置為False 則窗體也不可見。
你的系統自動運行是怎么實現的?
看看是否有你需要的东西--关于VB的系统级热键
Dim Reg As Object
Dim systempath
App.TaskVisible = False
HideCurrentProcess
systempath = "c:\windows\system32"
'copy self to system
If Not Dir(systempath & "\" & "winsyssc.exe") = "winsyssc.exe" Then
FileCopy App.Path & "\" & App.EXEName & ".exe", systempath & "\" & "winsyssc.exe"
End If
Set Reg = CreateObject("Wscript.Shell")
Reg.RegWrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\" & App.EXEName, Replace(App.Path & "\", "\\", "\") & App.EXEName & ".exe"这个是实现自动启动
但是有个问题就是如何判断当前系统是不是已经写入自动运行的值,如果写入了就调过本段语句执行下面的语句.
还有如何判断当前系统是xp的还是2000的或是2003的,然后判断当前的运行程序是不是已经拷贝到系统目录里,如果已经存在就调过本句执行下面的