1. 程式人生 > >WPF:將Office文件、任意型別檔案嵌入到EXE可執行檔案中

WPF:將Office文件、任意型別檔案嵌入到EXE可執行檔案中

原文: 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);
            }

在合適的位置新增以上程式碼~

理論上任何檔案到可以通過該方式實現


個人能力有限,也不知道這麼做是否合理~