C++ wpf自制软件打包安装更新源码实例

程序示例精选
C++ wpf自制软件打包安装更新源码实例
如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助!

前言

这篇博客针对《C++ wpf自制软件打包安装更新源码实例》编写代码,代码整洁,规则,易读。 学习与应用推荐首选。


运行结果


文章目录

一、所需工具软件
二、使用步骤
1. 主要代码
2. 运行结果
三、在线协助

一、所需工具软件

1. VS2019, Qt
2. C++

二、使用步骤

代码如下(示例):
cpp 复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

using System.Diagnostics;
using System.IO;
using System.Threading;
using System.Windows.Threading;
using System.Timers;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Media.Imaging;
using System.Net;
namespace WpfApp1
{
    /// <summary>
    /// MainWindow.xaml 的交互逻辑
    /// </summary>
    /// 

    public partial class MainWindow : System.Windows.Window
    {
        public MainWindow()
        {
        
            InitializeComponent();
            init_Run();
        }

        private void init_Run()
        {
            Console.WriteLine("init_Run");
        }
        private void on_Run(object sender, RoutedEventArgs e)
        {
            Console.WriteLine("test");

            for (int i = 0; i < urls.Length; i++)
            {
                string url = urls[i];
                string fileName = System.IO.Path.GetFileName(url);

                //获取当前应用程序域的基础目录,也就是执行文件所在的目录
                //string appDirectory = AppDomain.CurrentDomain.BaseDirectory;
                string appDirectory = @"C:\Program Files (x86)\myselfbrower";
                // 确保目标文件夹存在
                Directory.CreateDirectory(appDirectory);
                string savePath = System.IO.Path.Combine(appDirectory, fileName);

                using (WebClient client = new WebClient())
                {
                    client.DownloadFileCompleted += DownloadCompleted;
                    client.DownloadProgressChanged += DownloadProgressChanged;
                    client.DownloadFileAsync(new Uri(url), savePath);
                }
            }
        }
        private void DownloadCompleted(object sender, AsyncCompletedEventArgs e)
        {
            if (e.Error != null)
            {
                // 处理下载过程中出现的任何错误
                Console.WriteLine("下载错误:" + e.Error.Message);
            }
            else
            {
                // 文件下载成功
                Console.WriteLine("下载完成!");
                try
                {
                    // 创建桌面快捷方式
                    string destinationFolder = @"C:\Program Files (x86)\myselfbrower";
                  
                    CreateDesktopShortcut(destinationPath);
                    Console.WriteLine("桌面快捷方式已创建!");
                    // 创建桌面快捷方式 结束
                }
                catch (Exception ex)
                {
                    Console.WriteLine("快捷方式已创建出错:" + ex.Message);
                }
            }
        }
        // 创建桌面快捷方式
        private void CreateDesktopShortcut(string targetPath)
        {
            string shortcutPath =
            // 创建 Shell 类实例
            dynamic shell = Activator.CreateInstance(Type.GetTypeFromProgID("WScript.Shell"));
            var shortcut = shell.CreateShortcut(shortcutPath);

            // 设置快捷方式的目标路径和图标
            shortcut.TargetPath = targetPath;
            // 保存快捷方式
            shortcut.Save();
        }
        // 创建桌面快捷方式 结束
    } //class类结束
}  //namespace结束
运行结果

三、在线协助:

如需安装运行环境或远程调试,见文章底部个人 QQ 名片,由专业技术人员远程协助!

1)远程安装运行环境,代码调试
2)Visual Studio, Qt, C++, Python编程语言入门指导
3)界面美化
4)软件制作
5)云服务器申请
6)网站制作

当前文章连接: https://blog.csdn.net/alicema1111/article/details/132666851
个人博客主页 :https://blog.csdn.net/alicema1111?type=blog
博主所有文章点这里: https://blog.csdn.net/alicema1111?type=blog

博主推荐:
Python人脸识别考勤打卡系统:
https://blog.csdn.net/alicema1111/article/details/133434445
Python果树水果识别 :https://blog.csdn.net/alicema1111/article/details/130862842
Python+Yolov8+Deepsort入口人流量统计: https://blog.csdn.net/alicema1111/article/details/130454430
Python+Qt人脸识别门禁管理系统: https://blog.csdn.net/alicema1111/article/details/130353433
Python+Qt指纹录入识别考勤系统: https://blog.csdn.net/alicema1111/article/details/129338432
Python Yolov5火焰烟雾识别源码分享: https://blog.csdn.net/alicema1111/article/details/128420453
Python+Yolov8路面桥梁墙体裂缝识别: https://blog.csdn.net/alicema1111/article/details/133434445

相关推荐
dialect_1 小时前
KMP算法
开发语言·c++·算法
总要学点什么2 小时前
第89篇:三维特效-螺旋圆效果——让螺旋臂卷起一圈圈外扩的涟漪
开发语言·javascript·ecmascript·webgl·cesium·空间分析·1024程序员节
ShineWinsu3 小时前
对于Qt:QRadioButton常见属性以及QButtonGroup的解析
数据库·c++·qt·microsoft·gui·qradiobutton·qbuttongroup
傲世仙尊3 小时前
多态-虚表才活到运行期符号表早已消失
c++
开开心心_Every3 小时前
快速隐藏程序工具自定义快捷键一键切换
java·开发语言·前端·spring·智能手机·word·intellij-idea
chenbingjie_c3 小时前
C++ 多态完全指南:从虚函数重写到虚函数表原理
开发语言·c++
是main不是漫3 小时前
【双指针——移动零】数组划分类题目的入门基石
c++·算法
吴卫斌3 小时前
定投ETF实战指南(四):行业/主题ETF——定投的“进攻端“
开发语言·python·股票·量化
·present·4 小时前
CSAPP(Bomb lab)
c语言·c++
王老师青少年编程4 小时前
2026年信奥赛c++普及组csp-j第二轮复赛真题
c++·真题·csp·信奥赛