gpt4 book ai didi

file - Win32 - 获得将文件保存到 C 盘的权限

转载 作者:行者123 更新时间:2023-12-04 05:29:21 26 4
gpt4 key购买 nike

我有一个程序,用户可以将输出 session 保存到文本文件中。这工作正常,但是当我尝试将文件保存到诸如 C:\ 之类的位置时,它显示一个错误对话框说:
You don't have permission to save to this location. Contact the administrator to obtain permission. Would you like to save to the Documents folder instead?
当我单击否时,认为它只会取消操作,我的应用程序崩溃了。
我不希望我的应用程序需要管理权限,但是在尝试保存文件时,我如何要求用户提供权限(例如调出 UAC 对话框,并在需要时提供身份验证)。如果用户无法提供权限,我只想留在“保存文件”对话框中,直到用户选择他们有权保存到的位置或按取消。我真的不希望在程序启动时要求权限,只是在用户将文件保存到他们需要权限的位置时。

顺便说一下,我目前在运行我的应用程序时以管理员身份登录,它是我运行 Windows Vista 的计算机上的唯一帐户。

最佳答案

应用程序仅在启动时提升。要模拟“在运行时仅在需要时获取 UAC 权限”,您实际上需要对应用程序进行分区,以便它启动第二个进程(例如,写入文件)并且该进程可能会被提升启动。您可以这样做,但需要大量工作,但 yield 甚微或没有 yield 。

UAC 的全部意义在于改变用户和应用程序对待硬盘的方式。 C 的根不是写东西的聪明地方。使用 AppData 或 Documents,或创建您自己的文件夹,如 C:\MySpecialApp(将路径添加到配置文件)并在那里写入。如果您坚持写入 C 的根目录,那么您需要 admin privs,这没有多大意义。

关于file - Win32 - 获得将文件保存到 C 盘的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12820689/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com