社区
Qt
帖子详情
Qt怎么实现文件关联
newsyoung1
2013-01-27 03:12:15
QT怎么实现文件关联啊,有个文件我在操作系统中设置“打开方式”->“选中我的软件”->“始终以这种方式打开该软件”,由于我没有在我的代码中做任何设置,所以每次打开这种文件时,只有软件打开了,但是并没有打开这个文件,我想问一下,怎么在我的代码添加一些来实现这个功能,我打开文件是根据文件的路径名来打开的,我想问一下,我关联后,双击怎么获取文件的路径名
...全文
624
10
打赏
收藏
Qt怎么实现文件关联
QT怎么实现文件关联啊,有个文件我在操作系统中设置“打开方式”->“选中我的软件”->“始终以这种方式打开该软件”,由于我没有在我的代码中做任何设置,所以每次打开这种文件时,只有软件打开了,但是并没有打开这个文件,我想问一下,怎么在我的代码添加一些来实现这个功能,我打开文件是根据文件的路径名来打开的,我想问一下,我关联后,双击怎么获取文件的路径名
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
newsyoung1
2013-05-16
打赏
举报
回复
解决了,在main函数中有两个参数一个是agrc,argv,你把argv[1](存储的是你要打开的文件的路径),你把它传到你的openFile函数就可以了
moyou3344
2013-05-15
打赏
举报
回复
你的问题解决了吗?我也遇到这样的问题,请问你是怎么解决的啊
寒山-居士
2013-01-28
打赏
举报
回复
要想双击打开选中的文件,首先需要将文件关联的注册表写的生效才可以,以下仅供参考: //删除默认项 QSettings *settings = new QSettings("HKEY_CLASSES_ROOT\\.apk\\", QSettings::NativeFormat); settings->remove("."); //将默认项改成需要打开应用程序在注册表中的路径 settings->setValue(".",QVariant("xxxx")); delete settings; //插入安装程序的注册表项 QSettings *settings1 = new QSettings("HKEY_CLASSES_ROOT\\xxxx\\", QSettings::NativeFormat); QString strIcoPath = "iconfilepath"+",0"; settings1->setValue(".","desc"); strIcoPath.replace("/","\\"); settings1->setValue("DefaultIcon/.",strIcoPath); settings1->setValue("shell/.","open"); settings1->setValue("shell/open/.","安装程序"); QString cmd = "\""+"/xxxx.exe\" -path=\"%1\""; cmd.replace ("/","\\"); settings1->setValue("shell/open/command/.", cmd); delete settings1; //在注册表中右键删除下面这个注册表项: //HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.apk\UserChoice //这个注册表项下的值和数据(具体就是名为progid的值和它的数据),是对应右键打开方式所设置的默认打开程序的 QSettings *settings2 = new QSettings("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\FileExts\\.apk\\", QSettings::NativeFormat); settings2->setValue("Progid",QVariant("xxxx")); delete settings2; //通知系统强制刷新系统图标缓存, 需要有#include <Shlobj.h>头文件 ::SHChangeNotify(SHCNE_ASSOCCHANGED,SHCNF_IDLIST|SHCNF_FLUSH,0,0);
newsyoung1
2013-01-28
打赏
举报
回复
这是我到网上找的,我在注册表中能够找到我程序的路径,但是我需要获得的是双击打开的那个文件
newsyoung1
2013-01-28
打赏
举报
回复
QSettings *ukenvFileReg = new QSettings("HKEY_CLASSES_ROOT\\.{fileType}", QSettings::NativeFormat); // //判断UKEnv类型是否已在注册表中,并关联了正确的打开方式(程序打开方式),没有则写入 QString currentValue = ukenvFileReg->value("Default").toString(); if (currentValue.isEmpty() || currentValue != "{Program_Type}") { //QMessageBox::information(NULL,"information","Unregistered or Uncorrect"); ukenvFileReg->setValue("Default", "{Program_Type}"); QSettings *ukenvIconReg = new QSettings("HKEY_CLASSES_ROOT\\.{fileType}\\DefaultIcon", QSettings::NativeFormat); ukenvIconReg->setValue("Default", QString(qApp->argv()[0]) + ",0"); //将当前运行的程序图标置入 delete ukenvIconReg; QSettings *ukenvProgramReg = new QSettings("HKEY_CLASSES_ROOT\\{Program_Type}\\shell\\open\\command", QSettings::NativeFormat); ukenvProgramReg->setValue("Default", QString(qApp->argv()[0]) + " %1"); //将当前运行的程序路径置入 delete ukenvProgramReg; } delete ukenvFileReg;
寒山-居士
2013-01-28
打赏
举报
回复
修改注册表某些项,具体参照魔方手机助手的 文件关联的 查看他们的注册表的修改
http://www.mobfound.com
jinjianxinxh
2013-01-28
打赏
举报
回复
这个还是要向操作系统注册一下的吧
newsyoung1
2013-01-28
打赏
举报
回复
1
打印argv[1]的 值为空
newsyoung1
2013-01-28
打赏
举报
回复
我打印argv[0]为我当前运行程序的exe文件的位置,我现在要获得的是文件关联后,双击文件,或的文件的路径,而不是我自己运行程序的路径
windywater119
2013-01-27
打赏
举报
回复
文件路径名是命令行参数,一般main函数里面argv[1]就是。
QT
读取Txt
文件
并显示在界面上完整版
在这个项目中,“
QT
读取Txt
文件
并显示在界面上完整版”是一个利用
QT
库
实现
的简单应用,它
实现
了从本地
文件
系统中选择TXT文本
文件
并将其内容在应用程序的textBrowser组件中显示出来。下面我们将详细讨论相关的知识点...
Qt
使用Poppler-
qt
5操作PDF
文件
安装完成后,我们可以通过
Qt
的`Q_OBJECT`宏和`QObject`类来创建一个与Poppler
关联
的类。首先,包含必要的头
文件
: ```cpp #include #include #include #include #include <poppler-
qt
5.h> ``` 接下来,创建一...
Qt
Creator 系列教程
- **信号与槽
关联
**:通过
Qt
Designer 设置信号与槽的连接,
实现
按钮点击事件触发对话框的关闭。 **3.
实现
过程** - **创建主工程**: - 新建 `
Qt
4 Gui Application` 工程,命名为 `nGui`。 - 基础类选择 `...
qedit.h头
文件
`qedit.h`头
文件
,通常
关联
于
Qt
库,这是一个广泛使用的跨平台应用程序开发框架,由
Qt
Company开发并维护。
Qt
库提供了一整套用于构建图形用户界面和其他各种应用程序的工具,支持Windows、Linux、macOS等多种操作系统...
Qt
操作注册表
实现
文件
关联
文件
关联
:是将一种类型的
文件
与一个可以打开它的程序建立起一种依存关系。举个例子来说,位图
文件
(BMP
文件
)在Windows中的默认
关联
程序是“图片”,如果将其默认
关联
改为用ACDSee程序来打开,那么ACDSee就成了它的...
Qt
16,831
社区成员
26,687
社区内容
发帖
与我相关
我的任务
Qt
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
复制链接
扫一扫
分享
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章