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