【问题标题】:PowerShell send keys to uninstall promptPowerShell 发送密钥到卸载提示
【发布时间】:2021-05-13 03:30:27
【问题描述】:

有人可以帮助我编写一个简单的脚本,将两个键(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}")

它不会返回错误,但它也不起作用。

问候, 亚历克斯

【问题讨论】:

  • 请显示您已经尝试过的代码并解释不起作用的含义。收到错误信息?请将这些也添加到问题中。
  • 来自here(第10行),我认为只需要一个开关/SILENT& 'C:\Program Files (x86)\IObit\IObit Uninstaller\unins000.exe' /SILENT

标签: powershell uninstallation sendkeys silent


【解决方案1】:

不用说,但我会使用卸载程序并确保在使用任何发送密钥范例之前我已经用尽了所有选项。

我不知道你是如何运行它的。但是,如果您要将密钥发送到卸载过程,则需要注意一些事项。

首先我认为你必须像这样添加程序集:

Add-Type -AssemblyName System.Windows.Forms

所以我不知道您为什么没有看到错误,但如果您正在运行辅助脚本,它可能已经退出。无论哪种方式Add-Type 都不会受到伤害...

其次,我认为您必须确保卸载程序处于焦点位置。有一个使用 WScript.Shell COM 对象 here

的示例

根据我相当精益的经验,纯粹在 PowerShell 中执行此操作有点困难,但在 PowerShell.org here 上有一些工作。如果你想玩它。

Goggle 有大量利用 Win32 API 的类似功能。

【讨论】:

  • 如果这对我没有帮助,请告诉我,我会删除答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-11-03
  • 2016-02-12
  • 1970-01-01
  • 2016-08-05
  • 1970-01-01
  • 2018-08-09
  • 1970-01-01
相关资源
最近更新 更多