我想使用Qt C ++在Windows的C驱动器上写一个文件
QFile file("C:/key.txt");
if (!file.exists())
{
file.open(QIODevice::WriteOnly | QIODevice::Text);
file.write("0");
file.close();
}
Run Code Online (Sandbox Code Playgroud)
但是什么都没写在C上,我想我应该给它管理员权限,以便它可以写到C盘,但是我搜索并找到了QFile :: setpermissions,但是它也没有解决问题,
所以有什么办法可以解决我的问题,请
感谢Avdance
您需要以管理员权限运行应用程序以写入C:。它需要绕过UAC。为此,请嵌入清单:
QMAKE_LFLAGS += /MANIFESTUAC:"level='requireAdministrator' uiAccess='false'"
Run Code Online (Sandbox Code Playgroud)
或者您可以调整您的应用清单:
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
Run Code Online (Sandbox Code Playgroud)