Powershell Sendkeys [char] 定义
Powershell Sendkeys [char] definitions
关于使用 powershell 控制 Windows 设置(例如扬声器音量控制)的答案已给出,方法如下:
$obj = new-object -com wscript.shell
$obj.SendKeys([char]173)
- 参考 1:
Change audio level from powershell?
- 参考 2:
How can I mute/unmute my sound from PowerShell
但是我找不到任何关于这些数字(例如上面的 173,或 link 中的 174/175)来自何处的信息,以及它们是如何定义的以及其他数字定义是什么以及可以做什么。
你能告诉我这些数字是作为定义的动作给出的吗?例如,我怎么知道 172 会做什么?还是200?等等?
谢谢,劳伦斯
即使技术上,从 PowerShell 的角度来看,您传递的是特定的 Unicode 字符 - 使用 代码点 173
== 0xAD
== SOFT HYPHEN,U+00AD
- .SendKeys()
似乎将该字符的代码点(基础数字)解释为 Windows virtual-key code,代表键盘上的一个键,即本例中的VK_VOLUME_MUTE
键(0xAD
)案例.
所有虚拟键代码的 列表 是 here,尽管我不清楚其中哪些子集实际上可用于 .SendKeys()
。
重述链接问题中的问题:
[char] 173
是 VK_VOLUME_MUTE
(0xAD
)
[char] 174
是 VK_VOLUME_DOWN
(0xAE
)
[char] 175
是 VK_VOLUME_UP
(0xAF
)
顺便说一句:在 Windows PowerShell 中(但不再在 PowerShell [Core] v6+ 中)似乎对 [string]
的额外转换是必要的;例如(静音/取消静音):
# Extra [string] cast is *not* necessary anymore in PowerShell [Core], v6+
(New-Object -ComObject Wscript.Shell).SendKeys([string] [char] 173)
关于使用 powershell 控制 Windows 设置(例如扬声器音量控制)的答案已给出,方法如下:
$obj = new-object -com wscript.shell
$obj.SendKeys([char]173)
- 参考 1: Change audio level from powershell?
- 参考 2: How can I mute/unmute my sound from PowerShell
但是我找不到任何关于这些数字(例如上面的 173,或 link 中的 174/175)来自何处的信息,以及它们是如何定义的以及其他数字定义是什么以及可以做什么。
你能告诉我这些数字是作为定义的动作给出的吗?例如,我怎么知道 172 会做什么?还是200?等等?
谢谢,劳伦斯
即使技术上,从 PowerShell 的角度来看,您传递的是特定的 Unicode 字符 - 使用 代码点 173
== 0xAD
== SOFT HYPHEN,U+00AD
- .SendKeys()
似乎将该字符的代码点(基础数字)解释为 Windows virtual-key code,代表键盘上的一个键,即本例中的VK_VOLUME_MUTE
键(0xAD
)案例.
所有虚拟键代码的 列表 是 here,尽管我不清楚其中哪些子集实际上可用于 .SendKeys()
。
重述链接问题中的问题:
[char] 173
是VK_VOLUME_MUTE
(0xAD
)[char] 174
是VK_VOLUME_DOWN
(0xAE
)[char] 175
是VK_VOLUME_UP
(0xAF
)
顺便说一句:在 Windows PowerShell 中(但不再在 PowerShell [Core] v6+ 中)似乎对 [string]
的额外转换是必要的;例如(静音/取消静音):
# Extra [string] cast is *not* necessary anymore in PowerShell [Core], v6+
(New-Object -ComObject Wscript.Shell).SendKeys([string] [char] 173)