与应用程序位于同一文件夹中的 Settings.ini 被写保护

Posted

技术标签:

【中文标题】与应用程序位于同一文件夹中的 Settings.ini 被写保护【英文标题】:Settings.ini in same folder as application is write protect 【发布时间】:2017-12-19 03:27:49 【问题描述】:

我做了一个小工具应用程序,它通过 QSettings 访问 Settings.ini。我将 ini 文件放在与应用程序本身相同的目录中。但是当我尝试使用该应用程序对其进行写入时,由于没有管理员访问权限,它似乎被阻止了。我猜 Program Files (x86) 文件夹是禁止写入的?那么如何解决这个问题呢?

【问题讨论】:

【参考方案1】:

你猜对了,很可能是权限问题。通常,用户设置文件位于与应用程序本身不同的用户可访问文件夹中,例如 Windows 上的 C:\Users\<Username>\AppData\Roaming\Company\Application.ini

您真正需要为您的应用程序启用 .ini 设置文件是这样的(来自QSettings docs):

QSettings settings("MySoft", "Star Runner");
QSettings::setDefaultFormat(QSettings::IniFormat);

在 Windows 上,这将自动创建/使用:C:\Users\<Username>\AppData\Roaming\MySoft\Star Runner.ini 用于所有未来的 QSettings 调用。

(也可以在其他平台上自动运行。)

【讨论】:

感谢您的回答。我回家后会检查这个。

以上是关于与应用程序位于同一文件夹中的 Settings.ini 被写保护的主要内容,如果未能解决你的问题,请参考以下文章

如何可靠地打开与当前正在运行的脚本位于同一目录中的文件

vbscript 写入与xdoc位于同一文件夹中的xdoc同名的文本文件

如何使用 python 从位于同一目录中的多个 zip 文件夹中读取 csv 文件?

如何设置 gruntfile 使编译后的文件与源文件位于同一目录中

C#中的声音,将音频文件放在哪里?

打开文件的命令按钮 - 位于同一单元格按钮中的文件路径对齐到