qt是什么服务项目,qt开发工具是干什么的

首页 > 生活 > 作者:YD1662024-06-06 14:22:19

导读

我从事IT运维技术20多年, 尤其是刚开始工作的时候:前几年陆续在十几家IT系统集成公司工作过,每一家公司技术服务标准、IT工程师的个人习惯很难帮助客户企业建立一套规划、系统而全方位的IT系统。

同时客户IT需求的多元化,很难有一套统一的行业标准,很多客户也在纠结:无法判断IT技术工程师维护和管理的效果。只能在出现故障时:技术工程师处理故障,结果就是解决了和没有解决。

下一次更换IT技术工程师,故障处理风格又不同,所以我们很难进行有效管理和监控,更难讨论怎么统一!

近两年,我就在思考:怎么样帮助初高级IT工程师,建立一套规划化的IT服务体系?

例如:我就在想,有一套系统,把各种常用软件集成,IT企业每一位工程师统一使用集成化的平台,安装部署软件产品和各种外设。下图是我定制开发的界面。我需要做的工作是安装7-zip这个软件

qt是什么服务项目,qt开发工具是干什么的(1)

软件开发界面

需求分析

1、需要有7-Zip安装包;(程序自动判断:有没有安装包,没有则下载到指定目录);

2、7-z自动加入系统Path目录,方便命令行方式自动解压IT管理系统的软件;

3、判断Windows系统是否安装有7-zip软件,如果安装好了则自动打开程序;

实现方法:

我自学QT和C 一年多,空闲时间按照自己的想法和思路去实现。如上图:我点击"软件"->“压缩工具”->"7-Zip"软件,则自动安装该软件。

qt是什么服务项目,qt开发工具是干什么的(2)

QT开发界面

qt是什么服务项目,qt开发工具是干什么的(3)

项目目录结构

初始实现:QT QSetting 类操作注册表读写path,将7-zip软件加入系统环境、通过QProcess执行安装程序。

setup7_Zip() 函数:

void softHandle::setup7_Zip() { QString exeFileName=sourceDir "commonSoft\\zip_soft\\7z2107-x64.exe"; QProcess process(this); QSettings *regSet; if(Is64BitSystem()){ regSet=new QSettings("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\7zFM.exe", QSettings::Registry64Format); }else{ regSet=new QSettings("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\7zFM.exe", QSettings::Registry32Format); } QString addNewPath = regSet->value("Path").toString(); //获取7-Z安装位置 if (addNewPath.right(1) == "\\") { addNewPath.remove(addNewPath.length()-1,1); } qDebug()<<"-----------------"<<addNewPath; QSettings *regSet2; if(Is64BitSystem()) { regSet2=new QSettings("HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment", QSettings::Registry64Format); } else { regSet2=new QSettings("HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment", QSettings::Registry32Format); } //将7-zip加入到系统path目录 QString oldPath = regSet2->value("Path").toString(); //读出注册表原来 Path的值 qDebug()<<"oldPath:"<<oldPath; QString newPath=QString(oldPath ";%1;").arg(addNewPath); //在毛部追加7-zip的目录 qDebug()<<"newPath:"<<newPath; regSet2->setValue("Path", newPath); regSet->deleteLater(); regSet2->deleteLater(); }

代码效果

qt是什么服务项目,qt开发工具是干什么的(4)

自动完成注册表环境变量设置

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.