我在 Visual Studio 2010 上创建了一个新项目。它是一个 Windows 窗体,并使用 .NET Framework 4 Client Profile 完成。
我在上面放了一个嵌入的 WAV 声音文件。
我唯一想做的就是将它复制到某个路径,例如桌面。我怎样才能做到这一点?
我已经尝试过这些:
然而,我总是面临着麻烦。例如:
如果我添加一个名为 Take Over Control.wav 的音频资源,它的名称会被添加Take_Over_Control
。然后,我只需在我的主表单中添加一个按钮,上面写着“复制”。然后,该按钮的点击事件有:
private void ButtonCopyClick(object sender, EventArgs e)
{
Stream resource = Assembly.GetExecutingAssembly().GetManifestResourceStream("Take_Over_Control");
if (resource == null)
{
throw new ArgumentException();
}
Stream output = File.OpenWrite(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)+"\\Sound.wav");
resource.CopyTo(output);
}
问题是......无论我是否在该部分中放置Take_Over_Control
orResources.Take_Over_Control
或Properties.Resources.Take_Over_Control
等,GetManifestResourceStream
我总是卡在throw new ArgumentException();
,所以,这意味着它resource
是null
,并且它没有很好地分配Stream resource = Assembly.GetExecutingAssembly().GetManifestResourceStream("Take_Over_Control");
在线。
我尝试过的其他方法也有问题。这里有什么问题?如何以正确的方式复制这个嵌入的音频文件!?