似乎用SendKeys.Send无法实现发送组合键“Windows+L”。
有一个替代的方法。如下
Imports System.DiagnosticsPublic Class Form1
' 鼠标双击窗体后锁屏!
Private Sub Form1_DoubleClick(sender As Object, _
e As EventArgs) Handles Me.DoubleClick
Process.Start("rundll32.exe", "user32.dll, LockWorkStation")
End Sub
End Class
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命令打开的外部程序窗口保持正常状态(非最大化、最小化及隐藏状态)并且使其获得焦点
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)