有没有办法将权限提升到使用我们的Delphi 2006(Win32)应用程序将文件写入网络文件夹所需的级别?
运行应用程序的用户无权在相关网络文件夹中编写(或查看)文件。
任何推荐的技巧或替代建议?
答案 0 :(得分:5)
您可以提示用户输入具有提升权限的用户的凭据,然后在写入网络共享时临时在该其他用户的登录下操作。为此,您正在寻找LogonUser
和ImpersonateLoggedOnUser
功能。请参阅this answer。
答案 1 :(得分:1)
使用WNetAddConnection2连接到UNC路径,您需要使用lpUsername和lpPassword参数(要么用户询问它们,要么在应用程序的某处隐藏它们)。
您可以选择是否要将本地驱动程序字母映射到UNC路径(在这种情况下,使用nil作为lpLocalname参数)。完成后,您可以访问UNC路径而无需指定凭据。