3

由于某些原因,当文件被删除时,我想在我的程序中播放一个名为“EmptyRecycleBin”的系统声音。

所以我写了这些代码:

代码1

[DllImport("winmm.dll", EntryPoint = "sndPlaySound")]
[return: MarshalAs(UnmanagedType.Bool)]
private static extern Boolean SndPlaySound(String pszSound, Int32 fuSound);
private const Int32 SND_SYSTEM = 0x00200000;

SndPlaySound("EmptyRecycleBin", SND_SYSTEM );  //The sound that was played is wrong, but I don't know why……

sndPlaySound 函数执行成功,但不幸的是,播放的声音是“哔”。

根据@AlexK。的解释,sndPlaySound 函数无法识别别名“EmptyRecycleBin”。

在这种情况下,我必须以另一种方式做到这一点:

代码2

 var sound = new SoundPlayer(Registry.CurrentUser.OpenSubKey(@"AppEvents\Schemes\Apps\Explorer\EmptyRecycleBin\.Current", false).GetValue(null) as String);
 sound.PlaySync();

没关系,但我仍然想知道是否可以通过使用任何其他别名使 Code1 工作?

我的系统是 Windows 10,任何帮助将不胜感激。

4

0 回答 0