2010-01-26 66 views
3

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

运行应用程序的用户没有权限在有问题的网络文件夹中写入(或查看)文件。

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

回答

5

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

+0

谢谢,这完美地回答了这个问题。 – Mattl 2010-01-26 15:50:19

1

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

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