【问题标题】:Copy file with elevated privileges使用提升的权限复制文件
【发布时间】:2010-01-26 14:58:45
【问题描述】:

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

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

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

【问题讨论】:

    标签: windows delphi permissions


    【解决方案1】:

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

    【讨论】:

    • 谢谢,完美回答了这个问题。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2012-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-20
      • 2019-06-17
      • 2023-03-09
      • 1970-01-01
      相关资源
      最近更新 更多