问题描述
有人可以帮我编写一个简单的脚本,该脚本将两个键(TAB 和 Enter)发送到卸载提示吗?
我正在尝试静默卸载 IObit Uninstaller,但 /silent /supressmsgboxes
不起作用。
这是我目前所拥有的:
Start-Process "C:\Program Files (x86)\IObit\IObit Uninstaller\unins000.exe"
[System.Windows.Forms.SendKeys]::SendWait("{TAB}")
[System.Windows.Forms.SendKeys]::SendWait("{ENTER}")
它不会返回错误,但也不起作用。
问候, 亚历克斯
解决方法
不言而喻,但我会使用卸载程序并确保在使用任何“发送密钥”范例之前已用尽所有选项。
我不知道你是如何运行这个的。但是,如果您要向卸载过程发送密钥,则需要注意一些事项。
首先,我认为您必须添加如下程序集:
Add-Type -AssemblyName System.Windows.Forms
所以我不知道为什么你没有看到错误,但如果你正在运行一个辅助脚本,它可能已经退出。无论哪种方式Add-Type
都不会伤害...
其次,我认为您必须确保卸载程序处于焦点。有一个使用 WScript.Shell COM 对象 here
这样做的示例根据我在这方面的精益经验,纯在 PowerShell 中执行会有点困难,但是 PowerShell.org here 上有一些工作。如果你想玩它。
Goggle 有大量利用 Win32 API 的类似东西。