我想按Windows Key+1使用 vb 脚本从我的 Windows 任务栏打开我的浏览器和其他工具。根据这个vbs 脚本相关问题 VBScript 的 SendKeys 不支持 Windows 键。有
没有什么办法可以解决这个问题
我的操作系统是:windows 7
答案1
您可以使用WScript
命名的方法Shell
或使用Shell
对象和来启动一个进程ShellExecute
。
您可以对要启动的进程进行硬编码,也可以创建批处理文件来启动它们并从 vbscript 执行批处理。等等。
答案2
我遇到了类似的问题,这是我的解决方案:
创建一个 .VB 文件,然后将其转换为 .EXE
VB 脚本看起来应该是这样的,不要错过脚本框中的前两行和最后一行。
Imports System.Runtime.InteropServices
Imports System.Windows.Forms
Public Module SendWinKey
Const KEYEVENTF_KEYDOWN As Integer = &H0
Const KEYEVENTF_KEYUP As Integer = &H2
Declare Sub keybd_event Lib "User32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As UInteger, ByVal dwExtraInfo As UInteger)
Public Sub Main()
keybd_event(CByte(Keys.LWin), 0, KEYEVENTF_KEYDOWN, 0) 'press the left Win key down
keybd_event(CByte(Keys.1), 0, KEYEVENTF_KEYDOWN, 0) 'press the Left arrow key down
keybd_event(CByte(Keys.1), 0, KEYEVENTF_KEYUP, 0) 'release the Left arrow key
keybd_event(CByte(Keys.LWin), 0, KEYEVENTF_KEYUP, 0) 'release the left Win key
End Sub
End Module"
保存。从命令提示符运行以下命令。务必替换最新版本使用您的 .NET FRAMEWORK 版本,并将 ****FILE_LOCATION**** 替换为您保存文件的位置
C:\Windows\Microsoft.NET\Framework\***LATEST_VERSION***\vbc "C:\****FILE_LOCATION****\PushMyButtonsBaby.vb" /out:"C:\****FILE_LOCATION****\PushMyButtonsBaby.exe" /target:winexe
您的防病毒软件可能会将其检测为类似“Heur.AdvML.B”的病毒,但 SEP 在我的防病毒软件上检测到此病毒是误报。您可能必须将 .EXE 设置为排除项。
希望这有帮助。我花了一段时间才找到这个解决方案。