我一直在寻找一种在C#中创建文件快捷方式的简单方法,但是我只找到了做这件事情的外部DLL库。实际上,令人惊讶的是,没有内置的方法可以这样做。
无论如何,我知道lnk文件只是带有特定命令和给定路径的文本文件。我想也许我可以在代码中创建一个文本文件,将它的文本设置为正确的命令并将它的扩展名改成.lnk。首先我尝试手动这样做,但失败了。
有没有办法像这样做(或者可能有其他简单的方法)在C#中创建指向特定路径的快捷方式?
请注意,我所说的快捷方式是指导致该文件的.lnk文件 编辑:当我说文件时,我的意思是任何我想要的文件,而不仅仅是我的应用程序的快捷方式。
如果对于每种情况都不能正常工作,我会进行编辑。
添加以下引用:
- Microsoft Shell Controls And Automation
- Windows Script Host Object Model
添加以下命名空间:
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 文件,请告诉我。