Qt操作windows注册表的方法 bat从注册表中将键值删除

Qt 注册表
0 441
suoniao 2021-04-10
需要:0索币

(1) 子进程通过bat文件将路径写入注册表

reg add "HKEY_CLASSES_ROOT\btoolpplayerprotocol\shell\open\command" /t REG_SZ /d "\"%~dp0btoolpplayer.exe\" \"%%1\"" /f

/v表示名称,这里没有说明是默认值

/t表示类型

/d表示值

%cd%代表的是当前工作目录(current working directory,variable);

%~dp0代表的是当前批处理文件所在完整目录(the batch file's directory,fixed)。

(2)主进程访问注册表读取路径信息

这里可以直接加入键名称,然后直接根据键名称访问键值,下面是遍历获取exe,不太合适。

QSettings reg("HKEY_CLASSES_ROOT\\btoolpplayerprotocol\\shell\\open\\command", QSettings::NativeFormat);

       QStringList keyList = reg.childKeys();

       QString location = "";

       foreach(QString key, keyList)

       {

              QString slocation = reg.value(key).toString();

              if (slocation!="" || slocation.contains("exe", Qt::CaseSensitive))

              {

                     location = slocation;

                     break;

              }

       }

(3)      采用process访问进程

int index = location.indexOf("exe", 0);

       index += 3;

       location = location.mid(1, index-1);

 

       QStringList Qstringlist;

       Qstringlist << csCmd;

       QProcess process;

       LOGIC_TRACE("start paltplayer begin! ");

       process.startDetached(location, Qstringlist);//分离

       LOGIC_TRACE("start paltplayer end! ");

(4)   bat从注册表中将键值删除

reg delete "HKEY_CLASSES_ROOT\btoolpplayerprotocol" /f

原文地址 https://www.cnblogs.com/bclshuai/p/9790628.html

回帖
  • 消灭零回复
相关主题
Qt利用QLabel组件来显示图片 0
TableView自定义代理QStyledItemDelegate实现ComboBox 0
Qt利用QGraphicsView类实现图片放大缩小平移显示 0
Qt实现非阻塞延迟方法sleep 0
Qt实现webdav客户端功能支持https协议的webdav客户端 0
Qt操作windows注册表的方法 bat从注册表中将键值删除 0
重写QSqlQueryModel实现QTableView显示图片 0
QLocalServer基于本地套接字socket的服务端server 0
Qt使用动态库的方法 QLibrary库的典型用法 0
QT实现视频播放器界面开发 0
QTableview实现鼠标放上面显示不同颜色 0
Qt的QTableView自定义委托详解 0
QTableView利用自定义委托实现日期显示下拉菜单文字颜色等 0
Qt利用QApplication::sendEvent和QMouseEvent模拟鼠标点击事件 0
Qt获取父进程路径和父进程ID代码 0
QStyledItemDelegate和QItemDelegate区别在于绘制和向视图提供编辑器的方式 0
Qt实现全局快捷键功能利用QxtGlobalShortcut库 0
利用QSS去掉QListWidget选中时的虚线框 0
如何自己使用 QEventLoop解决窗口一闪而过的问题 0
Qt 为什么没有提供跨平台的 sleep 函数? 0
相关主题
打印机USB驱动开发之实现打印服务器 0
Qt利用QLabel组件来显示图片 0
TableView自定义代理QStyledItemDelegate实现ComboBox 0
Qt利用QGraphicsView类实现图片放大缩小平移显示 0
Qt实现非阻塞延迟方法sleep 0
海康相机SDK的C++对应的接口 0
Qt实现webdav客户端功能支持https协议的webdav客户端 0
CHKDSK解决 移动硬盘只能看见盘符其它信息都看不见另外双击也打不开 0
gogs一直报errror:dial tcp xxx.xxx.xxx.xxx 宿主机的ip 0
索鸟快传2.1.2发布 0
索鸟快传2.1.1发布 0
Qt操作windows注册表的方法 bat从注册表中将键值删除 0
重写QSqlQueryModel实现QTableView显示图片 0
QLocalServer基于本地套接字socket的服务端server 0
Qt使用动态库的方法 QLibrary库的典型用法 0
QT实现视频播放器界面开发 0
QTableview实现鼠标放上面显示不同颜色 0
Qt的QTableView自定义委托详解 0
QTableView利用自定义委托实现日期显示下拉菜单文字颜色等 0
Qt利用QApplication::sendEvent和QMouseEvent模拟鼠标点击事件 0