批量启动程序并在Windows 7中按Enter键

时间:2012-08-20 05:37:10

标签: vbscript batch-file uac windows-7-x64

我在开发时经常打开4个程序。我觉得有一天晚上我不想进行一些开发,所以我写了这个脚本:

test.bat的

start /d "C:\eclipse" eclipse.exe
start /d "C:\Program Files (x86)\Pidgin" pidgin.exe
start /d "C:\wamp" wampmanager.exe
start /wait /d "E:\websites\scripts" tunnelier.vbs

tunnelier.vbs

Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.Run """C:\Program Files (x86)\Bitvise Tunnelier\Tunnelier.exe"""
WshShell.AppActivate "Tunnelier"

WshShell.SendKeys "{ENTER}"

我发现它成功打开了所有程序,但有两个问题。

  1. 当tunnelier是活动窗口时它没有被发送(它没有登录。)如果我只运行tunnelier.vbs它工作正常,但在批处理文件中它不起作用。
  2. wampmanager.exe必须有一个奇怪的清单文件,因为Windows让我觉得烦人且啰嗦“你想让来自未知出版商的以下程序更改你的电脑”提示。
  3. 所以我的问题是双重的;

    1. 如何在正确的窗口中输入回车键?
    2. 如何摆脱未知的发布者UAC提示?
    3. 我试图研究这两个主题但都失败了,所以非常感谢任何帮助!

1 个答案:

答案 0 :(得分:4)

  • 您无需发送回车键。启动指定-profile-loginOnStartup的Tunnelier,这也意味着您不再需要VBScript脚本。
  

C:\ Program Files(x86)\ Bitvise Tunnelier \ Tunnelier.exe -profile = profile_file.path -loginOnStartup

另请查看:http://www.bitvise.com/files/tunnelier-params.txt

  • 要摆脱wampmanager的UAC,您可以使用Runas。它会为每次通话提示密码,但不会提示 / savecred 参数,但您必须输入一次密码。

最后,您的脚本可能是这样的:

start /d "C:\eclipse" eclipse.exe
start /d "C:\Program Files (x86)\Pidgin" pidgin.exe
start runas /profile /savecred /user:Administrator "c:\wamp\wampmanager.exe"
start /d "C:\Program Files (x86)\Bitvise Tunnelier" Tunnelier.exe -profile=profile_file.path -loginOnStartup