Windows 脚本在关机时运行

问题描述 投票:0回答:2

我一直在尝试让 Windows 启动/关闭声音播放,我无法播放声音所以我问了微软,这里是链接https://answers.microsoft.com/en-us/ windows/forum/all/cannot-change-windows-start-up-sound/8bbcb0a0-1402-4f1e-b080-9c8d526bc205 有人告诉我这是不可能的。太糟糕了,因为我不会就此止步,所以我去了 Windows 10 上的本地组策略编辑器,您可以在其中选择要在关机和启动期间运行的脚本。然后我写了一个非常小的 PowerShell 命令,文件名为“shutdown.ps1”,shutdown.ps1 中的代码是

start "C:\Windows\System32\GroupPolicy\Machine\Scripts\Shutdown\TADA.wav"
此文件位于 C:\Windows\System32\GroupPolicy\Machine\Scripts\Shutdown 目录中,连同它在关闭时播放的 TADA.wav 文件。

现在我遇到的问题是,当 Windows 关闭时,它会结束所有进程,所以它 播放声音。 我能做些什么来改变它? 我对所有这一切都很陌生,非常感谢您提供的任何意见。 提前致谢, 德文

windows powershell shutdown
2个回答
1
投票

来自如何在 Windows 10 中更改 Windows 10 注销、登录和关机声音

...

虽然您仍然可以自定义为大多数操作系统事件播放的声音,但 Windows 10 隐藏了关闭、注销和登录视图。不过,它们还在附近。您只需要在 Windows 注册表中进行一些轻微的更改即可恢复它们。

通过编辑注册表将操作添加回声音控制面板

要将关闭、注销和登录操作添加回声音控制面板应用程序的菜单,您只需在 Windows 注册表中进行一些小调整。

...

  • 点击开始并输入“regedit”打开注册表编辑器。按 Enter 打开注册表编辑器,然后授予它对您的 PC 进行更改的权限。

  • 在注册表编辑器中,使用左侧边栏导航到以下键:

    HKEY_CURRENT_USER\AppEvents\EventLabels

  • 您将对该

    EventLabels
    键内的三个不同子键中的每一个进行一个小的更改。首先,我们将处理关机声音,或者像 Windows 喜欢称呼它的那样,系统退出。在注册表编辑器左侧的
    EventLabels
    键下,选择
    SystemExit
    子键。在右侧,双击
    ExcludeFromCPL
    值。

  • 请注意,默认情况下,该值为 1,表示该操作从控制面板中排除。将值更改为 0,然后单击“确定”。

  • 接下来,您将对

    EventLabels
    键内的其他两个子键进行完全相同的更改:
    WindowsLogoff
    WindowsLogon
    。进入每个文件夹,打开里面的
    ExcludeFromCPL
    值,并将值从 1 更改为 0.

  • 无需重新启动 Windows。您可以继续并立即测试您的更改。通过右键单击通知区域中的扬声器图标并选择“声音”来打开声音控制面板应用程序。 1

  • 您现在应该在选择窗口中看到可用的新操作(退出 Windows、Windows 注销和 Windows 登录),您可以为这些操作分配您喜欢的任何声音。

  • 如果出于某种原因,您想再次从控制面板中隐藏这些操作,只需返回注册表编辑器并将每个 ExcludeFromCPL 值更改回 1.

1:在我的机器上,要进入声音控制面板,我必须进入设置,选择“个性化”,然后选择“主题”,然后选择“声音”。

更新:

事实上,一旦我在注册表中重新启用它们,所有三个声音事件都会显示在我的声音控制面板中。但是,我尝试为它们分配音频文件,尽管 Windows 记住了分配,但在调用这些操作时没有播放任何内容。

所以,我想回放功能根本就没有为这些事件实现。这似乎在您与 Microsoft Insider 在 answers.microsoft.com 上的讨论中得到证实(143K 回复的支持率为 89%,我认为他知道他在说什么):

在 Windows 10 无法更改 Windows 启动声音,该声音永久设置在 Windows 的 DLL 中,它不像其他系统声音那样是音频文件,即使您打开启动声音该对话框,有时会播放启动声音,有时不会播放,这是 Windows 10 中的一个已知错误,似乎已在 Windows 11 中修复

Windows10不像以前版本的Windows那样支持关机声,网上找了很多方法,遗憾的是,一个都不管用


0
投票

在 Windows 11 中工作:

$PlayWav=New-Object System.Media.SoundPlayer
$PlayWav.SoundLocation='C:\Windows\Media\Windows Logoff Sound.wav'
$PlayWav.playsync()

在 .ps1 脚本中。然后,我在组策略管理编辑器>用户配置>Windows 设置>脚本(登录/注销)>注销上添加脚本。

我希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.