代码之家  ›  专栏  ›  技术社区  ›  Kevin Day

在UAC提升期间保留映射的驱动器号信息

  •  -1
  • Kevin Day  · 技术社区  · 17 年前

    我们有一个应用程序需要知道执行它的路径(它始终是网络路径)。

    我们根据启动应用程序的路径设置了部分配置,我们真的希望该配置使用映射的网络驱动器路径,而不是资源的UNC路径。

    我们发现,当我们在没有UAC提升的情况下启动应用程序时,我们能够获得应用程序从使用中启动的目录。

    GetModuleFileName(NULL, buf, sizeof(buf));
    

    但是,当我们启动提升的(我们实际上需要这样做)时,返回的缓冲区会给我们一个基于UNC的路径,而不是基于驱动器号的路径。

    请注意,我们总是通过导航到映射驱动器号的文件夹树来从Windows资源管理器启动。

    对于如何从提升运行的进程中获取基于驱动器号的exe路径,是否有人有任何建议?

    1 回复  |  直到 17 年前
        1
  •  2
  •   Andrew Coleson    17 年前