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

news2024/11/18 18:25:37

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

前言

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


运行结果


文章目录

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

一、所需工具软件

       1. VS2019, Qt
       2. C++

二、使用步骤

代码如下(示例):



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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1089183.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JAVA设计模式-工厂模式(Factory Pattern)

一.概念 我们在创建对象时不会对客户端直接暴露创建逻辑&#xff0c;而是 通过使用一个共同的接口根据不同的条件来指向具体想要创建的对象。 二.工厂模式优点 1.解耦 &#xff1a;把对象的创建和使用的过程分开 2.降低代码重复&#xff1a; 如果创建某个对象的过程都很复杂…

HTML基础入门02

目录 1.格式化标签 2.图片标签: img 3.超链接标签: a 4.综合案例: 展示博客2 5.表格标签 5.1基本使用 5.2合并单元格 6.列表标签 1.格式化标签 加粗&#xff1a;strong标签和b标签 倾斜&#xff1a;em标签和i标签 删除线&#xff1a;del标签和s标签 下划线&#xff1a;i…

结构体,位段!

目录 1.什么是位段&#xff1f; 别急&#xff01;在下面第二点我和大家介绍。 2.位段的内存怎么分配&#xff1f; 还有一种情况就是两种类型夹杂在一起的位段 3.位段的跨平台问题 4.位段能干嘛&#xff1f;&#xff08;应用&#xff09; 5.位段的注意事项 1.什么是位段&…

MySQL 进阶笔记

&#x1f600;&#x1f600;&#x1f600;创作不易&#xff0c;各位看官点赞收藏&#xff0c;在这里隆重感谢尚硅谷宋红康老师。&#xff0c; 文章目录 MySQL 进阶笔记1、Centos 环境安装 MySQL2、MySQL常用设置2.1、字符集设置2.2、SQL 大小写2.3、sql_mode 模式2.4、MySQL 数…

【OJ比赛日历】快周末了,不来一场比赛吗? #10.14-10.20 #13场

CompHub[1] 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…&#xff09;比赛。本账号会推送最新的比赛消息&#xff0c;欢迎关注&#xff01; 以下信息仅供参考&#xff0c;以比赛官网为准 目录 2023-10-14&#xff08;周六&#xff09; #7场比赛2023-10-15…

分析Python爬虫设计

抖音作为一款火爆的短视频平台&#xff0c;每天都会产生大量的热传视频。想要了解这些热门内容背后的秘密吗&#xff1f;那么&#xff0c;你来对地方了&#xff01;在本文中&#xff0c;我将与大家分享一个用Python设计的抖音视频热传内容分析爬虫。通过这个爬虫&#xff0c;你…

MS9708数模转换器可pin对pin兼容AD9708

MS9708/MS9710/MS9714 是一个 8-Bit/10-Bit/14-Bit 高速、低功耗 D/A 转换器。可pin对pin兼容AD9708。当采样速率达到 125MSPS 时&#xff0c;MS9708/MS9710/MS9714 也能提供优越的 AC 和 DC 性能。 MS9708/MS9710/MS9714 正常工作电压范围为2.7V ~ 5.5V&#xff0c;功耗低能很…

接口测试项目实战,充值接口+取现接口,资深测试带你一文打通...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、充值接口 首先…

代理IP在保护跨境商家网络安全中的重要作用

在当前全球化的背景下&#xff0c;跨境电商成为一种重要的商业模式&#xff0c;越来越多的商家涌入国际市场&#xff0c;商家们通过互联网平台将商品远销国外&#xff0c;但网络安全风险随之而来。跨境商家因为需要处理大量的在线交易和产品数据&#xff0c;如果未能对这些敏感…

Spark中的Driver、Executor、Stage、TaskSet、DAGScheduler等介绍

工作流程&#xff1a; Driver 创建 SparkSession 并将应用程序转化为执行计划&#xff0c;将作业划分为多个 Stage&#xff0c;并创建相应的 TaskSet。Driver 将 TaskSet 发送给 TaskScheduler 进行调度和执行。TaskScheduler 根据资源情况将任务分发给可用的 Executor 进程执…

KubeVela跨地域的多集群管理方案

随着公司全球化战略的布局,业务呈点状分布在亚太、美东、欧洲等多个地域,云原生kubevela在跨地域多集群管控方面也遇到网络上的互通问题。 在公司网络规划上只允许一个区域的一个VPC跟另一个区域的一个VPC打通,同区域不同机房的网络都可以打通的网络架构基础上,由于一个区…

深度学习系列51:hugging face加速库optimum

1. 普通模型 Optimum是huggingface transformers库的一个扩展包&#xff0c;用来提升模型在指定硬件上的训练和推理性能。Optimum支持多种硬件&#xff0c;不同硬件下的安卓方式如下&#xff1a; 如果是国内安装的话&#xff0c;记得加上-i https://pypi.tuna.tsinghua.edu.c…

五笔字根查询接口,五笔输入法数据

一、接口介绍 可对五笔字根口诀及五笔编码查询,希望能为您学习五笔输入法提供帮助。 二、功能体验 三、产品特点 四、API文档 4.1 五笔字根查询查询 4.1.1接入点说明 查询五笔字根。 4.1.2接口地址 http[s]://route.showapi.com/1861-1?showapi_appid替换自己的值&…

基于springboot实现校园博客系统项目【项目源码+论文说明】

基于springboot实现校园博客系统演示 摘要 随着现在网络的快速发展&#xff0c;网上管理系统也逐渐快速发展起来&#xff0c;网上管理模式很快融入到了许多网站的之中&#xff0c;随之就产生了“校园博客系统”&#xff0c;这样就让校园博客系统更加方便简单。 对于本校园博客…

linux中使用ps查看进程的所有线程

在 Linux 系统中&#xff0c;可以使用 ps 命令和 ps H 命令结合来查看进程的线程信息。ps 命令用于显示系统中当前运行的进程信息&#xff0c;而 ps H 命令则可以显示进程中的所有线程。 使用以下命令可以查看指定进程的所有线程信息&#xff1a; ps H -T <PID>将 替换…

vite+v3批量一次性引入本地图片(简单做法)

效果&#xff1a; 开发步骤&#xff1a; 在assets/fileTypes文件夹中将你需要的png图片导入&#xff0c;并使用文件类型来命名图片(如docx.png)使用import.meta.globEager将assets/fileTypes下所有的png图片引入通过遍历Object.keys(files)使用正则匹配出每个图片的名称&#…

专业吃鸡行家教你秒转高手,掌握绝地求生战斗技巧!

各位吃鸡玩家大家好&#xff01;今天我将为大家分享一些关于提高游戏战斗力的独家技巧和顶级游戏作战干货&#xff01;如果你想成为吃鸡高手&#xff0c;就千万不要错过这篇文章&#xff01; 首先&#xff0c;让我们来谈谈如何提高游戏战斗力。提升游戏战斗力可以帮助您在游戏中…

three.js入门 —— 实现第一个3D案例

前言&#xff1a; three.js入门&#xff0c;根据文档实现第一个3D案例 效果图&#xff1a; 代码实现&#xff1a; const scene new THREE.Scene();//创建一个长方体几何对象Geometryconst geometry new THREE.BoxGeometry(100, 100, 100);//创建一个网络基础材质的材质对象…

swift ui 布局 ——Stack(HStack、VStack、ZStack)

一、HStack 水平布局 将其子视图排列在水平线上 import Foundation import SwiftUI struct MyView: View {var body: some View {HStack{Text("text")Image("yuyin").resizable().frame(width: 102,height: 80)}} } 默认子视图是水平中心对齐的,可添加al…

季涨约3~8%,DRAM合约价大幅回升 | 百能云芯

据TrendForce的研究显示&#xff0c;第4季DRAM与NAND Flash均价将开始全面上涨。特别是DRAM&#xff0c;预计第4季的合约价将季涨幅约在3%到8%之间。然而&#xff0c;这波上涨是否能持续&#xff0c;取决于供应商是否坚守减产策略以及实际需求的回升程度&#xff0c;尤其值得关…