使用32位应用程序从64位系统上的快捷方式文件访问目标路径

Jim*_*esh 5 c# 64-bit 32-bit lnk

我正在尝试使用我的32位应用程序从64位计算机上的快捷方式(.lnk)文件访问目标路径.为了获得路径,我使用以下代码.

WshShell shell = new WshShell();
IWshShortcut link = (IWshShortcut)shell.CreateShortcut(flexShortcut);
FLEXEXE = link.TargetPath;
Run Code Online (Sandbox Code Playgroud)

这将返回路径C:\Program Files (X86)\..而不是C:\Program Files\..

这有什么工作吗?

Jim*_*esh 2

要使用的一个技巧是

  1. 从link.TargetPath获取文件名
  2. 从 link.WorkingDirectory 获取工作目录
  3. 追加路径