我一直在寻找一种在 C# 中创建文件快捷方式的简单方法,但我只找到了执行此操作的外部 dll。这实际上非常令人惊讶,没有内置的方法可以做到这一点..
无论如何,我知道 lnk 文件只是具有特定命令和给定路径的文本文件。我想也许我可以创建一个文本文件(在代码中)将其文本设置为正确的命令并将其扩展名更改为 .lnk 我尝试先手动执行此操作,但未能这样做。
有没有办法做类似的事情(或者可能是另一种简单的方法)来创建 C# 中某个路径的快捷方式?
为了清楚起见,快捷方式是指指向文件的 .lnk 文件 编辑:文件是指我想要的任何文件,而不仅仅是我自己的应用程序的快捷方式
如果它不适用于每种情况,我将进行编辑。
添加这些参考:
- Microsoft Shell 控件和自动化
- Windows 脚本宿主对象模型
添加这个命名空间:
using Shell32;
using IWshRuntimeLibrary;
接下来似乎正在工作:
var wsh = new IWshShell_Class();
IWshRuntimeLibrary.IWshShortcut shortcut = wsh.CreateShortcut(
Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\shorcut2.lnk") as IWshRuntimeLibrary.IWshShortcut;
shortcut.TargetPath = @"C:\Users\Zimin\Desktop\test folder";
shortcut.Save();
希望对其他人也有帮助,感谢您的关注。
另外,如果有办法创建文件,编写正确的命令,然后将其更改为 lnk 文件,请告诉我。