WPF:将Office文档、任意类型文件嵌入到EXE可执行文件中

原文: WPF:将Office文档、任意类型文件嵌入到EXE可执行文件中

版权声明:本文为博主原创文章,未经博主允许可以随意转载 https://blog.csdn.net/songqingwei1988/article/details/50259527

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);
            }

在合适的位置添加以上代码~

理论上任何文件到可以通过该方式实现


个人能力有限,也不知道这么做是否合理~


posted on 2018-10-21 13:55 NET未来之路 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/9824835.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值