PowerShell 发送密钥以卸载提示

问题描述

有人可以帮我编写一个简单的脚本,该脚本将两个键(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 的类似东西。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...