获取快捷方式文件夹的目标
如何获取快捷方式文件夹的目录目标?我到处搜索,只找到快捷方式文件的目标。
How do you get the directory target of a shortcut folder? I've search everywhere and only finds target of shortcut file.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
我认为您需要使用 COM 并添加对“Microsoft Shell Control And Automation”的引用,如此答案中所述。
下面是使用它的示例代码(来自现已不存在的 http://www.saunalahti.fi/janij/blog/2006-12.html#d6d9c7ee-82f9-4781-8594-152efecddae2):
I think you will need to use COM and add a reference to "Microsoft Shell Control And Automation", as described in this answer.
Here's example code to use it (from the now defunct http://www.saunalahti.fi/janij/blog/2006-12.html#d6d9c7ee-82f9-4781-8594-152efecddae2 ):
在Windows 10中,需要像这样完成,首先将COM引用添加到“Microsoft Shell Control And Automation”
In windows 10 it needs to be done like this, first add COM reference to "Microsoft Shell Control And Automation"
获取我使用的链接路径的更简单的方法是:
但是如果 lnk 文件格式发生更改,它当然会中断。
An even simpler way to get the linked path that I use is:
But it will of course break if the lnk-file format changes.
我已经使用了它,始终基于内置的 Windows“Shell.Application”COM 对象,但使用纯后期绑定和反射来实现,因此不需要添加对现有项目的引用,并且没有任何依赖项。
I have used this, always based on builtin windows "Shell.Application" COM object, but implemented using pure late-binding and reflection, thus without any need to add a reference to the existing project, and without any dependencies.
如果您想找到桌面上有快捷方式的应用程序路径,我使用的一个简单方法如下:
此代码返回正在运行的任何 exe 路径,无论谁请求文件
if you want find your application path that has shortcut on desktop, an easy way that i use, is the following:
this code return any exe path that is running,Regardless that who requested file
所有文件快捷方式都有一个 .lnk 文件扩展名,您可以检查。例如,使用字符串,您可以使用 string.EndsWith(".lnk") 作为过滤器。
所有 URL 快捷方式都有一个 .url 文件扩展名,因此如果需要,您还需要考虑这些。
All file shortcuts have a .lnk file extension you can check for. Using a string for example, you could use string.EndsWith(".lnk") as a filter.
All URL shortcuts have a .url file extension, so you will need to account for those as well if needed.