【问题标题】:Is there a way to detect sound via PowerShell?有没有办法通过 PowerShell 检测声音?
【发布时间】:2013-06-14 16:29:27
【问题描述】:

我想检测 PC 是否正在播放任何类型的声音。


如果它没有播放任何类型的声音,我可以在 Powershell 中使用 else 条件,然后做我接下来需要做的任何事情。

那么有没有办法通过 PowerShell 检测声音?

谢谢

【问题讨论】:

标签: powershell


【解决方案1】:

方法 1...

Import-Module -Name TroubleShootingPack
Get-TroubleshootingPack C:\Windows\diagnostics\system\Audio | Invoke-TroubleshootingPack

方法 2... 开始对 C:\Windows\diagnostics\system\Audio 中的脚本进行逆向工程 :)

P.S:您还可以在 shay 的博客中阅读有关如何完成特定任务的信息 http://scriptolog.blogspot.co.il/2007/09/playing-sounds-in-powershell.html

【讨论】:

    【解决方案2】:

    您将需要导入 .net 类型或 dll。诚然,这个过程是命中注定的,一些谷歌搜索并没有出现太多,但这是你可能找到这种功能的唯一方法。我建议在 msdn 文档中搜索 .Net 来完成这项工作。

    一旦你知道你需要什么课程:

    Add-Type System.Example
    

    或者

    Add-Type -Path "C:\PathtoDll\file.dll"
    

    那么你需要调用一个静态方法

    [System.Example]::DoSomething() 
    

    或者创建一个新的对象实例

    $object = New-Object System.Example
    

    【讨论】:

    • 我同意这可能是流程的一部分,但它实际上并没有回答 OP 的问题,它应该是一个评论。为了进一步解释我的反对意见 - 人们使用答案计数来确定是否要阅读一个问题,因此通过给出部分答案,您就不太可能让拥有真实答案的人看到这个问题。
    • 我花了大约三个小时才找到解决方案,所以这是我能做的最好的了
    • 我理解并且不反对您进行研究并尝试回答问题的冲动,这就是社区的全部意义所在。但是,将其放在答案部分会降低 OP(以及我们其他人)获得明确答案的可能性,因此最好避免。顺便说一句,如果没有 .Net api,答案可能就在 COM 和 winapi 的深处。
    • 我正在为他指明正确的方向。比任何人都做得更好,两周没有人回复这个问题
    • 对,这太棒了,令人鼓舞,我是说它应该作为评论而不是答案。
    猜你喜欢
    • 2020-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多