WPF:將Office文件、任意型別檔案嵌入到EXE可執行檔案中
阿新 • • 發佈:2018-11-07
原文:
WPF:將Office文件、任意型別檔案嵌入到EXE可執行檔案中
在合適的位置新增以上程式碼~
RT
可能這個需求比較奇怪
做了一個綠色版應用,最後只生成一個可執行的exe檔案,不附帶任何dll和其他檔案。
新軟體需要提供幫助手冊,又不想額外提供檔案,希望通過軟體內部幫助按鈕一鍵開啟...
----- 需求結束 ---
應對思路,將檔案嵌入到exe中,需要時將檔案匯出,這麼做必然會增大exe的體積,不過1M左右文件也就不計較了~
step1:
將編輯好的檔案加入到專案
可以看到檔案實際被存為了byte[]型別
/// <summary> /// 查詢 System.Byte[] 型別的本地化資源。 /// </summary> public static byte[] Help { get { object obj = ResourceManager.GetObject("Help", resourceCulture); return ((byte[])(obj)); } }
setp2: Coding...
try { var filePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "使用者手冊.pptx"); //已存在文件,不需要再次解壓 if (File.Exists(filePath) == false) { File.WriteAllBytes(filePath, Properties.Resources.Help); } Process.Start(filePath); } catch (Exception exception) { MessageBox.Show(string.Format("匯出使用者手冊異常:{0}?", exception.Message), "提示", MessageBoxButton.OK, MessageBoxImage.Information); }
在合適的位置新增以上程式碼~
理論上任何檔案到可以通過該方式實現
個人能力有限,也不知道這麼做是否合理~