我们有一个应用程序需要知道执行它的路径(始终是网络路径)。
我们根据启动应用程序的路径设置了部分配置,我们真的希望该配置使用映射的网络驱动器路径而不是资源的 UNC 路径。
我们发现,当我们在没有 UAC 提升的情况下启动应用程序时,我们能够获取应用程序启动时使用的目录
GetModuleFileName(NULL, buf, sizeof(buf));
但是当我们启动提升(我们实际上需要这样做)时,返回的缓冲区为我们提供了基于 UNC 的路径,而不是基于驱动器号的路径。
请注意,我们总是通过导航到映射驱动器号的文件夹树从 Windows 资源管理器启动。
有没有人对如何从运行提升的进程中获取基于驱动器号的 EXE 路径有任何建议?