C#读取快捷方式的目标程序地址

.lnk扩展名是windows的快捷方式,它的大小大约是1KB左右,但是通常方法无法查看和编辑,当你尝试打开这个文件时,windows会打开快捷方式的目标程序。

想查看快捷方式本身,而非目标程序的内容,就通过一个com引用

1 添加引用,类型选择com,名称叫“Windows Script Host Object Model”。

这一步也可以直接修改扩展名为csproj的项目文件。

2 增加命名空间

using IWshRuntimeLibrary;

3 应用代码

WshShell shell = new WshShell();
IWshShortcut shortcut = (IWshShortcut)shell.CreateShortcut(@"C:\Users\xxxx\Desktop\FlashGet.lnk");    //获取快捷方式对象
string targetPath = shortcut.TargetPath;                 //读取右键快捷方式的目标信息
string workingDirectory = shortcut.WorkingDirectory;     //读取右键快捷方式的起始位置信息
int windowStyle = shortcut.WindowStyle;                  //读取右键快捷方式的运行方式信息
string description = shortcut.Description;               //读取右键快捷方式的备注信息
string iconLocation = shortcut.IconLocation;             //读取快捷方式的图标信息


扫码关注我的公众号