在vbs中发送windows密钥?

时间:2014-05-10 01:58:03

标签: vbscript

我到处寻找这个,它真的可以吗?如果您按下WIN +左箭头键,它会将您选择的窗口安装到屏幕的左侧,这正是我想要做的。

我尝试过这样的事情:

shl.sendkeys "#{LEFT}"

因为我发现#可以用于WIN,就像+用于Shift而%用于Alt。

这可能是一个愚蠢的问题,但它会帮助我这么多。谢谢你的时间

5 个答案:

答案 0 :(得分:4)

Set Keys = CreateObject("WScript.Shell")

Keys.SendKeys("^{Esc}")

这应该可行,它通过按下CTRL ^和ESC {Esc}键模拟推送Windows键,我不知道如何使窗口挂载到左侧屏

答案 1 :(得分:2)

VBScript SendKeys不支持 Windows 键。


您可以改为使用AutoIt

Send("{#Left}")

答案 2 :(得分:1)

所以您想将窗口安装在左侧,我目前不认为有办法但是开始菜单还有另一个快捷键,以及Windows键,它是Ctrl + Esc,^{ESC},您可以运行屏幕键盘,然后以某种方式切换到该键,但是如何尝试使用Alt + Space %{SPACE}单击窗口图标,然后单击M进行移动,然后将光标位置设置在屏幕左侧(以某种方式)?我目前不需要在V.B.S.中移动光标的帮助,但是您可以Google哈希符号实际上是在输入 this 测试的 # 符号 hash 。我还获得了有关发送键功能 here 的帮助。我有很多研究方法,但是我仍然找不到答案。有人还说使用第三方程序“ Auto hotkey”,但我并不真正相信可以控制您的整个 PC的程序。


所以我想您的选择是:

  • Alt +空格键单击窗口图标,然后按M键移动,然后将光标移动到屏幕左侧
  • Auto HotKey,尽管我不建议这样做。
  • VBS中的其他命令,但SendKeys
  • 运行使用其他语言构建的文件。
  • 还是在下一个版本的Microsoft中,等待/要求Windows进行添加?!

答案 3 :(得分:0)

是的,您可以在VBS中发送Windows密钥。

Set vb = CreateObject("WScript.Shell")
vb.Sendkeys "^{ESC}"

实际上是alt + Esc作为Windows键。

答案 4 :(得分:0)

反应很晚,但这是我的工作

Dim shellObject : Set shellObject = CreateObject("WScript.Shell")
Extern.Declare micVoid, "keybd_event", "user32.dll", "keybd_event", micByte, micByte, micLong, micLong
Const KEYEVENTF_KEYUP = &H2
Const VK_LWIN = &H5B

Wait 5
Call Extern.keybd_event(VK_LWIN,0,0,0) 'press win key
Wait 5
shellObject.SendKeys  "({UP})" 'right aline the window. TODO Error handlng
Wait 5
Call Extern.keybd_event(VK_LWIN,0,KEYEVENTF_KEYUP,0) 'up win key
Set shellObject = Nothing