使用“开始于”目录获取 Windows .lnk 快捷方式的目标

2023-12-21

我正在尝试检索 Windows .lnk 快捷方式的目标路径,但根据 .lnk 文件的属性,“目标”不是实际文件路径:

我正在使用 IWshRuntimeLibrary,并且我正在访问的快捷方式对象的类型为 IWshShortcut:

WshShell shell = new WshShell();
IWshShortcut link = (IWshShortcut)shell.CreateShortcut(lnkFileName);
// This returns "C:\Windows\Installer\{F843C6A3-224D-4615-94F8-3C461BD9AEA0}\PaintShopProExeIcon.ico"
var targetPath = link.TargetPath;
// This is the same as the "Start in" value in the image above
var workingDir = link.WorkingDirectory;

“链接”对象的 TargetPath 属性不是实际 .exe 的位置:“C:\Windows\Installer{F843C6A3-224D-4615-94F8-3C461BD9AEA0}\PaintShopProExeIcon.ico”

我可以从该对象获取WorkingDirectory 属性,该属性似乎与上图中快捷方式的“Start in”属性相同。我的问题是,如果 TargetPath 不是实际的 .exe 路径,如何获取快捷方式将打开的 .exe 文件的实际目标路径?这些信息在哪里?

本例中的实际目标路径是“C:\Program Files (x86)\Jasc Software Inc\Paint Shop Pro 9\Paint Shop Pro 9.exe”。系统怎么知道具体要打开“Paint Shop Pro.exe”呢?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用“开始于”目录获取 Windows .lnk 快捷方式的目标 的相关文章

随机推荐

  • 从 Maven 运行 Ant 任务

    我使用 Ant 构建自定义 jar 库 然后在 Maven 中将其用作依赖项
  • 作为 Upstart 服务启动时无法读取 UTF-8 文件名

    我的 Java 程序递归地读取目录的内容 这是一个示例树 注意非 ASCII 字符 sviluppo sviluppo cia sviluppo cia subdir sviluppo pippo sviluppo pippo prova2
  • iPhone:如何测试 UIApplicationExitsOnSuspend 是否正常工作?

    我将 UIApplicationExitsOnSuspend 设置为布尔值并选中了复选框 所以我假设 void applicationDidEnterBackground UIApplication application 不被调用 但当我
  • 数字格式中的井号?

    NumberFormat nf NumberFormat getCurrencyInstance Locale UK BigDecimal b new BigDecimal 10 System out println String form
  • Pandas One hot 编码:将不太常见的类别捆绑在一起

    我正在对一个分类列进行一次热编码 该列有大约 18 种不同类型的值 我想仅为那些出现超过某个阈值 假设为 1 的值创建新列 并创建另一个名为other values如果值不是那些频繁值 则值为 1 我正在将 Pandas 与 Scikit
  • 在后台运行 Ruby 脚本

    我有一个 Ruby 脚本 需要在我的 Linux 机器上一直运行 我试过nohup ruby ruby rb 但似乎不起作用 如何让脚本在后台运行 看一下screen这是一个命令行实用程序 开始它 screen 您将得到一个分离的新外壳 在
  • 如何使用 GSON 解析嵌套 JSON

    我目前正在使用 volley 发出 get 请求 在 onResponse 中 我尝试使用 gson 将 jsonObject 解析到我的模型 请求后返回的JSON success 1 message Done data company c
  • 是否可以将函数存储在字典中?

    我的 C 应用程序中有一条消息 它是一个序列化为 JSON 的对象 当我反序列化它时 我有一个 名称 string和一个 有效负载 string 我希望能够获取 Name 并在函数字典中查找它 使用 Payload 数组作为其参数 然后将输
  • 如果 pandas dataframe.loc 位置不存在,则返回默认值

    我发现自己经常必须在尝试引用数据帧之前检查数据框中是否存在列或行 例如 我最终添加了很多代码 例如 if mycol in df columns and myindex in df index x df loc myindex mycol
  • 实体框架中可以有没有主键的表吗?

    我只是在练习代码优先新数据库实体框架msdn http msdn microsoft com en us data jj193542 我想知道是否可以在代码中先创建一个没有主键的表新数据库EF EF 可以用数据库做的事情和数据库可以做的事情
  • 为什么 MVC3 没有搭建我的外键列

    我尝试首先使用代码将 MVC 3 与 EF 4 1 结合使用 并遵循 Scott Guthries 教程http weblogs asp net scottgu archive 2011 05 05 ef code first and da
  • 将带有换行符和制表符的 python 字符串转换为字典

    我对我遇到的这个特殊问题有点困惑 我有一个可行的解决方案 但我认为它不太Pythonic 我有一个像这样的原始文本输出 Key 1 Value 1 Key 2 Value 2 Key 3 Value 3a Value 3b Value 3c
  • PHP 以数组形式读取特定的 csv 文件列

    我是 PHP 新手 希望能够读取有两列的 csv 文件 一列是数字 有点像 ID 另一列保存整数值 我查找了 fgetcsv 函数 但无法找到从 csv 文件读取特定列的方法 我想仅从第二列获取所有值 没有标题 有办法做到这一点吗 这是我到
  • Android:单击网页视图中页面中的链接

    我在android web视图中包含了一个web应用程序 并且网页中有一个链接可以打开其他网站 当单击该链接时 第一次单击可以正常工作 但是当第二次单击时 找不到该网站 代码是 Override public boolean shouldO
  • Wix React-native-navigation 更改 Tab 和推屏

    如何同时切换选项卡和推送屏幕 当按钮被按下时 我想切换到另一个选项卡并推送一个新屏幕 是否可以 class Example extends Component buttonHandler gt this props navigator sw
  • Hive 如何存储数据(从 HDFS 加载)?

    我对 Hadoop HDFS 和 Hbase 和 Hadoop 生态系统 Hive Pig Impala 等 相当陌生 我对 Hadoop 组件 例如 NamedNode DataNode Job Tracker Task Tracker
  • 尝试访问EC2实例超时的可能原因

    我无法通过 SSH 连接到我的实例 操作超时 可能的原因是什么 我该如何解决 重新启动通常需要很长时间才能生效 并且可能会让事情变得更糟 更新 这与权限无关 我可以正常登录 我怀疑这可能是因为内存问题 我遇到了同样的问题 解决方案最终是添加
  • 如何让 JUnit 测试等待?

    我有一个JUnit测试 我想同步等待一段时间 我的 JUnit 测试如下所示 Test public void testExipres SomeCacheObject sco new SomeCacheObject sco putWithE
  • x86 内核中的键盘 IRQ

    我正在尝试编写一个非常简单的内核以用于学习目的 在阅读了一堆有关 x86 架构中的 PIC 和 IRQ 的文章后 我已经明白了IRQ1是键盘处理程序 我使用以下代码来打印按下的键 include port io h define IDT S
  • 使用“开始于”目录获取 Windows .lnk 快捷方式的目标

    我正在尝试检索 Windows lnk 快捷方式的目标路径 但根据 lnk 文件的属性 目标 不是实际文件路径 我正在使用 IWshRuntimeLibrary 并且我正在访问的快捷方式对象的类型为 IWshShortcut WshShel