我想在PowerPoint查看器中查看演示文稿,ppt文件位於資源中。所以問題是我如何訪問它並在PowerPoint查看器中查看。從C#資源中提取並打開PPT
下面是示例代碼
Process.Start(@"C:\Program Files\Microsoft Office\Office12\PPTVIEW.exe",**@"e:\presentation.ppt")**;
我怎麼能代替由包含在資源PPT這條道路?
我想在PowerPoint查看器中查看演示文稿,ppt文件位於資源中。所以問題是我如何訪問它並在PowerPoint查看器中查看。從C#資源中提取並打開PPT
下面是示例代碼
Process.Start(@"C:\Program Files\Microsoft Office\Office12\PPTVIEW.exe",**@"e:\presentation.ppt")**;
我怎麼能代替由包含在資源PPT這條道路?
其實,你所要求的是一種常見的模式,在這裏有一些相關的問題和答案。
基本上你一般做的是以下幾點:
所以刪除臨時文件,如果有的話,你第一次提取的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);
}
注:我遺漏了一些錯誤處理,您可能想添加到實際應用程序中。
感謝它的工作.. – vikrantx 2012-02-21 06:05:04
您可以將資源提取到臨時文件並使用PPT查看器將其打開 – CharlesB 2012-02-20 13:17:37