关机时运行的Windows脚本

nbysray5  于 2023-03-31  发布在  Windows
关注(0)|答案(2)|浏览(102)

我一直试图让一个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关闭时,它会结束所有进程,因此它 * 不会 * 播放声音。**我能做些什么来改变这一点?我对这一切都很陌生,非常感谢您给予任何输入。提前感谢,迪文

kt06eoxx

kt06eoxx1#

How to Change the Windows 10 Logoff, Logon, and Shutdown Sounds in Windows 10开始:
...
虽然您仍然可以自定义大多数操作系统事件的声音播放,但Windows 10隐藏了关闭,注销和登录。不过,它们仍然存在。您只需要在Windows注册表中进行一些轻微的更改即可恢复它们。

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

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

  • 点击开始并键入“regedit”打开注册表编辑器。按Enter键打开注册表编辑器,然后给予它对PC进行更改的权限。
  • 在注册表编辑器中,使用左侧栏导航到以下键:

HKEY_CURRENT_USER\AppEvents\EventLabels

  • 您将在EventLabels项中的三个不同子项中的每一个中进行一个小更改。首先,我们将处理关机声音,或者Windows喜欢称之为“系统退出”。在注册表编辑器左侧的EventLabels项下,选择SystemExit子项。在右侧,双击ExcludeFromCPL值。
  • 请注意,默认情况下,该值为1,这意味着该操作被排除在控制面板之外。将该值更改为0,然后单击“确定”。
  • 接下来,您将在EventLabels键中的其他两个子键中进行完全相同的更改:WindowsLogoffWindowsLogon。进入这些文件夹,打开其中的ExcludeFromCPL值,并将值从1更改为0。
  • 无需重新启动Windows。您可以继续并立即测试您的更改。右键单击通知区域中的扬声器图标并选择“声音”,以打开“声音控制面板”应用。1
  • 现在,您应该可以在选择窗口中看到可用的新操作(退出Windows、Windows注销和Windows登录),并且可以为这些操作指定任何声音。
  • 无论出于何种原因,如果您想再次从控制面板中隐藏这些操作,只需返回注册表编辑器并将每个ExcludeFromCPL值更改回1。

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

更新日期:

事实上,一旦我在注册表中重新启用它们,所有三个声音事件都会显示在我的声音控制面板中。然而,我试图将音频文件分配给它们,尽管Windows记住了分配,但在调用这些操作时没有播放任何内容。
所以,我猜播放功能只是不再为这些事件实现了。这似乎在您与www.example.com上的Microsoft Insider的讨论中得到了证实answers.microsoft.com(143K回复的89%的支持率,我认为他知道他在说什么):
在Windows 10中没有办法更改Windows启动声音,该声音在Windows中的DLL中永久设置,它不是像其他系统声音那样的音频文件,即使在该对话框上打开启动声音,有时启动声音会播放,其他时候不会,这是Windows 10中的已知错误,似乎已在Windows 11中修复

Windows10不支持像以前版本的Windows一样的关机声音,你会发现网上发布了很多方法,遗憾的是,没有一个有效。

sr4lhrrt

sr4lhrrt2#

在Windows 11中工作:

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

然后,我在组策略管理编辑器〉用户配置〉Windows设置〉脚本(登录/注销)〉注销中添加该脚本。
希望这能帮上忙。

相关问题