• 1619阅读
  • 7回复

[讨论]Qt开发应用程序时,产生配置文件的显示问题 [复制链接]

上一主题 下一主题
离线lwei24
 

只看楼主 倒序阅读 楼主  发表于: 2021-06-11
在windows下用Qt开发应用程序时,需要产生配置文件,但配置文件又不想被其他人看到,有什么办法隐藏并不可删除吗?
离线20091001753

只看该作者 1楼 发表于: 2021-06-11
有三个办法:
首先,最靠谱的办法是加密内容就好,文件并不藏着。
或者,把配置文件放在云服务器上,这样不仅文件他找不到,你还可以收维护费。
最后,你也可以在系统盘选一个特别深的地方,位置你自己定义就好。
(づ ̄ 3 ̄)づ
在线fsu0413

只看该作者 2楼 发表于: 2021-06-11
还有就是放在注册表
4条评分好评度+1贡献值+1金钱+10威望+1
20091001753 好评度 +1 - 2021-06-11
20091001753 贡献值 +1 - 2021-06-11
20091001753 威望 +1 - 2021-06-11
20091001753 金钱 +10 - 2021-06-11
离线lwei24

只看该作者 3楼 发表于: 2021-06-15
回 20091001753 的帖子
20091001753:有三个办法:
首先,最靠谱的办法是加密内容就好,文件并不藏着。
或者,把配置文件放在云服务器上,这样不仅文件他找不到,你还可以收维护费。
最后,你也可以在系统盘选一个特别深的地方,位置你自己定义就好。
 (2021-06-11 20:34) 

很感谢你的答复,其实已经内容已加密,但是文件裸露在外面,总会免不了被误删的可能。因此,想通过 SetFileAttributes(path.toStdWString().c_str(), FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM);设置属性的方法将其隐藏。但是这个方法调用成功了,配置文件却没有隐藏起来。有点奇怪……
离线lwei24

只看该作者 4楼 发表于: 2021-06-15
回 fsu0413 的帖子
fsu0413:还有就是放在注册表 (2021-06-11 21:31) 

多谢,注册表,确实是一种方法。可以尝试看看。
离线snow_man_0

只看该作者 5楼 发表于: 2021-06-16
回 lwei24 的帖子
lwei24:很感谢你的答复,其实已经内容已加密,但是文件裸露在外面,总会免不了被误删的可能。因此,想通过 SetFileAttributes(path.toStdWString().c_str(), FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM);设置属性的方法将其隐藏。但是这个方法调用成功了,配置文件却没有隐藏起来。 .. (2021-06-15 19:46)

SetFileAttributes(path.toLocal8Bit().data(), FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM);
离线lwei24

只看该作者 6楼 发表于: 2021-06-16
回 snow_man_0 的帖子
snow_man_0:SetFileAttributes(path.toLocal8Bit().data(), FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM);
 (2021-06-16 09:42) 

不好意思,path.toLocal8Bit().data()这么转换,似乎不能成功,报错了: error: C2664: “BOOL SetFileAttributesW(LPCWSTR,DWORD)”: 无法将参数 1 从“char *”转换为“LPCWSTR”
离线lwei24

只看该作者 7楼 发表于: 2021-06-16
回 fsu0413 的帖子
fsu0413:还有就是放在注册表 (2021-06-11 21:31) 

放在注册表上虽然很方便,但是换不同的主机时,那岂不是得重新输入对应的配置信息呢?
快速回复
限100 字节
 
上一个 下一个