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

相关推荐
随意02312 分钟前
Qt 事件
开发语言·qt
鸥梨菌Honevid20 分钟前
Qt自定义控件(1)——QPaintEvent
开发语言·qt
Code季风22 分钟前
深入比较 Gin 与 Beego:Go Web 框架的两大选择
开发语言·golang·go·gin·beego
pipip.1 小时前
UDP————套接字socket
linux·网络·c++·网络协议·udp
专注VB编程开发20年1 小时前
javascript的类,ES6模块写法在VSCODE中智能提示
开发语言·javascript·vscode
孞㐑¥6 小时前
Linux之Socket 编程 UDP
linux·服务器·c++·经验分享·笔记·网络协议·udp
黄雪超9 小时前
JVM——函数式语法糖:如何使用Function、Stream来编写函数式程序?
java·开发语言·jvm
ThetaarSofVenice9 小时前
对象的finalization机制Test
java·开发语言·jvm
水木兰亭9 小时前
数据结构之——树及树的存储
数据结构·c++·学习·算法
思则变9 小时前
[Pytest] [Part 2]增加 log功能
开发语言·python·pytest