我想在PowerPoint查看器中查看演示文稿,ppt文件在资源中。所以问题是我如何访问它并在PowerPoint查看器中查看。
以下是示例代码
Process.Start(@"C:\Program Files\Microsoft Office\Office12\PPTVIEW.exe",**@"e:\presentation.ppt")**;
如何通过包含资源的ppt替换此路径?
答案 0 :(得分:3)
实际上,你要求的是一个共同的模式,这里有一些相关的问题和答案。
基本上你通常做的是:
所以,你首先要提取PPT文件(实际上它并不重要,它是一个PPT文件,可以通过任何文件或字节blob)。
string tempFile = Path.GetTempFileName();
using (Stream input = assembly.GetManifestResourceStream("MyPresentation.PPT"))
using (Stream output = File.Create(tempFile))
{
input.CopyTo(output); // Stream.CopyTo() is new in .NET 4.0, used for simplicity and illustration purposes.
}
然后使用Process.Start()
打开它。您无需指定Powerpoint可执行文件的路径,因为PPT应该是PowerPoint或PowerPoint Viewer的注册文件扩展名。如果已同时安装,则可能仍希望提供相关可执行文件的路径以防止启动错误的应用程序。确保你没有硬编码路径,但尝试从注册表中检索它(或类似的,我没有检查,因为现在太具体了)。
using (var process = Process.Start(tempFile))
{
process.WaitForExit();
// remove temporary file after use
File.Delete(tempFile);
}
注意:我遗漏了一些您可能想要在实际应用程序中添加的错误处理。