使用提升的权限复制文件

时间:2010-01-26 14:58:45

标签: windows delphi permissions

有没有办法将权限提升到使用我们的Delphi 2006(Win32)应用程序将文件写入网络文件夹所需的级别?

运行应用程序的用户无权在相关网络文件夹中编写(或查看)文件。

任何推荐的技巧或替代建议?

2 个答案:

答案 0 :(得分:5)

您可以提示用户输入具有提升权限的用户的凭据,然后在写入网络共享时临时在该其他用户的登录下操作。为此,您正在寻找LogonUserImpersonateLoggedOnUser功能。请参阅this answer

答案 1 :(得分:1)

使用WNetAddConnection2连接到UNC路径,您需要使用lpUsername和lpPassword参数(要么用户询问它们,要么在应用程序的某处隐藏它们)。

您可以选择是否要将本地驱动程序字母映射到UNC路径(在这种情况下,使用nil作为lpLocalname参数)。完成后,您可以访问UNC路径而无需指定凭据。