VB6诞生的时候,键盘上还没有那个win键(与此类似的就是那时候的鼠标是没有滚轮的),所以VB6不直接支持win键(以及鼠标滚轮),SendKeys也不能模拟win键。下面的代码在WinXP可以模拟win键,但在Win7无效:
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Const VK_LWIN = &H5B
Private Sub Command1_Click()
keybd_event VK_LWIN, 0, &H1, 0
keybd_event VK_LWIN, 0, &H2, 0
End Sub
我暂时还没找到在Win7模拟win键的方法
vbNormalFocus是VB内部的一个常数,表示用Shell命令打开的外部程序窗口保持正常状态(非最大化、最小化及隐藏状态)并且使其获得焦点
用如下方法重启VB:右键单击,点“以管理员身份运行”,点是或输入管理员密码。
打包成EXE后,运行程序也需要赋予权限。
或者禁用Windows的UAC功能。