我的应用程序需要写入一个可能受保护的 \ProgramData 文件。这只会在安装后发生一次。
是否有 API 函数可以接受 ACL 信息并提示用户授权应用程序访问文件?换句话说,应用程序将要求 Windows 提示用户确认和授权。这应该是交互式的,并允许应用程序在授权访问文件后恢复执行。应用程序以标准用户身份运行,不需要管理员权限。
文件将使用 CreateFile() 打开。
编辑:我的问题与其他被认为是重复的问题之间存在微妙差别。我正在请求访问一个特定的对象,即一个文件。其他人则要求提升整个过程的权限。无论如何,我感谢所有包含解决方案的回答。
是否有 API 函数可以接受 ACL 信息并提示用户授权应用程序访问文件?换句话说,应用程序将要求 Windows 提示用户确认和授权。这应该是交互式的,并允许应用程序在授权访问文件后恢复执行。应用程序以标准用户身份运行,不需要管理员权限。
文件将使用 CreateFile() 打开。
编辑:我的问题与其他被认为是重复的问题之间存在微妙差别。我正在请求访问一个特定的对象,即一个文件。其他人则要求提升整个过程的权限。无论如何,我感谢所有包含解决方案的回答。
CreateFile()
文档: "*一个指向SECURITY_ATTRIBUTES结构的指针,该结构包含两个独立但相关的数据成员:一个可选的安全描述符和一个布尔值,用于确定返回的句柄是否可以被子进程继承。... 当打开现有文件或设备时,CreateFile忽略lpSecurityDescriptor成员,但继续使用bInheritHandle成员。*" - Remy Lebeau