!你好呀,
开始使用 Powershell 脚本,我有一个简单(但尚未工作)的脚本,其目的是运行同一程序的 4 个实例(这也恰好是一个视频游戏 - 长话短说游戏政策、条款和条件允许多-帐户,但启动器很糟糕,并且在启动所述游戏的多个实例时效果不佳)。反正...
首先,由于某些原因,我似乎无法运行该 .exe 的 4 个实例,尤其是在没有“-Verb RunAs”的情况下。如果我要删除这部分脚本,那么我只能运行一个实例,而其他 3 个永远不会启动。尝试使用 notepad.exe 和 calc.exe,效果很好,但是这个 .exe,不...!
现在,由于我很懒惰并且有一些时间可以浪费,我真的不想在每个启动的实例之间使用鼠标并在用户帐户控制(UAC)上单击“是”,然后我是考虑改进脚本,因为可能有办法解决它。首先,我尝试使用 cmdlet 在第 1 行禁用 UAC,运行脚本的其余部分,然后在最后一行再次启用 UAC,得到的结果与删除“-Verb RunAs”相同,只有一个实例显示向上。
所以这是我最后想出的解决方案:让脚本等待 UAC 在那里,然后发送“左”键然后“输入”,这样它就会继续“是”,然后确认 UAC 以及在每个实例之间.
这就是我如何编写可能很糟糕且非常错误的代码。但是,为了测试它,我缺少 UAC 进程名称来替换 ***。我一直在尝试寻找它,但是当 UAC 出现时,屏幕上除了它的窗口之外什么都没有显示,所以我无法访问任务管理器或其他任何东西,我自己也找不到它。
Start-process "C:\Users\Benjamin\AppData\Local\Ankama\zaap\dofus\Dofus.exe" -Verb RunAs
Wait-process -Name *** -Timeout 2
.SendKeys ({LEFT})({ENTER})
Start-process "C:\Users\Benjamin\AppData\Local\Ankama\zaap\dofus\Dofus.exe" -Verb RunAs
Wait-process -Name *** -Timeout 2
.SendKeys ({LEFT})({ENTER})
Start-process "C:\Users\Benjamin\AppData\Local\Ankama\zaap\dofus\Dofus.exe" -Verb RunAs
Wait-process -Name *** -Timeout 2
.SendKeys ({LEFT})({ENTER})
Start-process "C:\Users\Benjamin\AppData\Local\Ankama\zaap\dofus\Dofus.exe" -Verb RunAs
Wait-process -Name *** -Timeout 2
.SendKeys ({LEFT})({ENTER})
无论如何,该脚本可能无法正常工作,我觉得我仍然遗漏了很多(就像很多)行,但是是的......对不起,很长的帖子。帮助新手!:|
编辑 1:找到了一种缩短脚本的方法,但它仍然不会启动所有 4 个实例,除非我最后有“RunAs”。仍然需要在两次启动之间让 UCA 对其自身回答“是”,或者找到一种无需“RunAs”即可成功运行 4 个实例的方法:
1..4 | ForEach-Object { Start-process -FilePath "C:\Users\Benjamin\AppData\Local\Ankama\zaap\dofus\Dofus.exe" -Verb RunAs }