0

背景:我的电视在“设备和打印机”(在控制面板中)中列为“Bravia KDL-32EX720”变灰,因此停止响应“播放到”DLNA 命令。我知道的唯一解决方案是移除并重新添加电视。过程是这样的:

  1. 转到控制面板 -> 设备和打印机。
  2. 右键单击“Bravia KDL-32EX720”。
  3. 单击“删除设备”,然后在确认提示中单击“是”。
  4. 删除后,单击同一窗口“设备和打印机”中的“添加设备”按钮。
  5. 等待可用设备列表出现。
  6. 电视出现在这里。通过双击它来添加它。

现在,我想自动化这个过程,因为我必须重复做*。

我知道一点 PowerShell 并且知道可以通过以下命令打开窗口设备和打印机:

control printers

但是,我不知道在此之后如何进行。请指导我为完整任务制作脚本。我不介意是否提供了 Python 或 AutoHotKey 中的脚本。我使用的是 Windows 8 64 位专业版。提前致谢。

我在移除设备时截取的屏幕截图

*每次我关闭并打开电视时,我都必须经历这个过程。我已经完成了 Microsoft Answers 上提供给我的所有步骤来解决此问题(运行 SFC、重新启动某些服务等),但没有一个有帮助。

4

1 回答 1

0

您可以使用Powershell 脚本中的MS UI 自动化来自动执行此操作。

这是一个 hello world UIA Powershell 脚本,用于了解如何开始:

[Reflection.Assembly]::LoadFile('C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0\UIAutomationClient.dll')
[Reflection.Assembly]::LoadFile('C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0\UIAutomationTypes.dll')

# Get the root/desktop element
$rootElement = [Windows.Automation.AutomationElement]::RootElement
# Print its Name and ClassName
Write-Host "Note: In the managed UIA API, the desktop name is empty:"
"'" + $rootElement.Current.Name + "'"
Write-Host "Instead, you can identify the desktop by its ClassName, #32769:"
"'" + $rootElement.Current.ClassName + "'"

除此之外,您可能会从 WASP Powershell 管理单元中受益,尽管它似乎有一段时间没有更新:

http://wasp.codeplex.com/

此外,由于对于此项目,您希望自动化控制面板的 UI,因此您很可能需要以“以管理员身份运行”权限执行脚本。否则,对控制面板进行更改不太可能奏效。

于 2013-09-02T14:19:41.863 回答