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

相关推荐
阿让啊4 小时前
C语言strtol 函数使用方法
c语言·数据结构·c++·单片机·嵌入式硬件
liulilittle4 小时前
OPENPPP2 —— IP标准校验和算法深度剖析:从原理到SSE2优化实现
网络·c++·网络协议·tcp/ip·算法·ip·通信
honder试试7 小时前
焊接自动化测试平台图像处理分析-模型训练推理
开发语言·python
^Rocky7 小时前
JavaScript性能优化实战
开发语言·javascript·性能优化
田里的水稻7 小时前
C++_队列编码实例,从末端添加对象,同时把头部的对象剔除掉,中的队列长度为设置长度NUM_OBJ
java·c++·算法
ponnylv7 小时前
深入剖析Spring Boot启动流程
java·开发语言·spring boot·spring
萧邀人7 小时前
第一课、Cocos Creator 3.8 安装与配置
开发语言
Jayden_Ruan8 小时前
C++逆向输出一个字符串(三)
开发语言·c++·算法
不吃鱼的羊8 小时前
启动文件Startup_vle.c
c语言·开发语言
liulun8 小时前
Skia如何渲染 Lottie 动画
c++·动画