C#如何获取快捷方式指向的目标文件
2016-09-12 13:50
232 查看
原文地址:http://www.cnblogs.com/DoNetCShap/p/4221854.html
前几天,做个小程序时遇到的问题,在百度上搜索了很久,没有发现好的解决方案,在英文网站上立刻搜到办法,看来还是国外的资源要全面一些,只是Google经常访问不正常,没办法啊。
“C#如何获取快捷方式指向的目标文件”,这个问题在百度上搜索的大多数结果是打开快捷方式文件,把快捷方式文件按字节读入指数组中,然后自己编写代码逐字节读出目标文件路径,这种方法初学者就有点搞不清楚,特别是不了解捷方式文件组织方式的,用这个方法很费劲。
其实C#解决起来很简单,原理就是利用IWshRuntimeLibrary中的IWshShortcut类,就可以获取快捷方式指向的目标文件了。
以下是具体步骤:
一、在项目中添加“Windows Script Host Object Model”的引用
在项目上单击右键,选择“添加引用”,在“添加引用”对话框中选择“COM”组件选项卡,然后单击选择“Windows Script Host Object Model”,最后确定。在项目中就会出现“IWshRuntimeLibrary”,下面就可以编写代码了。
二、代码
用以下代码可以实现了。
1、首先引用这些:
using System.IO;
using IWshRuntimeLibrary;
2、编写函数:
private string 获取快捷方式文件指向的路径(string 快捷方式文件的路径)
{
//快捷方式文件的路径 = @"d:\Test.lnk";
if (System.IO.File.Exists(快捷方式文件的路径))
{
WshShell shell = new WshShell();
IWshShortcut 当前快捷方式文件IWshShortcut类 = (IWshShortcut)shell.CreateShortcut(快捷方式文件的路径);
//快捷方式文件指向的路径.Text = 当前快捷方式文件IWshShortcut类.TargetPath;
//快捷方式文件指向的目标目录.Text = 当前快捷方式文件IWshShortcut类.WorkingDirectory;
return 当前快捷方式文件IWshShortcut类.TargetPath;
}
else
{
return "";
}
}
参考的英文原文链接:
http://forums.overclockers.co.uk/showthread.php?t=17966879
前几天,做个小程序时遇到的问题,在百度上搜索了很久,没有发现好的解决方案,在英文网站上立刻搜到办法,看来还是国外的资源要全面一些,只是Google经常访问不正常,没办法啊。
“C#如何获取快捷方式指向的目标文件”,这个问题在百度上搜索的大多数结果是打开快捷方式文件,把快捷方式文件按字节读入指数组中,然后自己编写代码逐字节读出目标文件路径,这种方法初学者就有点搞不清楚,特别是不了解捷方式文件组织方式的,用这个方法很费劲。
其实C#解决起来很简单,原理就是利用IWshRuntimeLibrary中的IWshShortcut类,就可以获取快捷方式指向的目标文件了。
以下是具体步骤:
一、在项目中添加“Windows Script Host Object Model”的引用
在项目上单击右键,选择“添加引用”,在“添加引用”对话框中选择“COM”组件选项卡,然后单击选择“Windows Script Host Object Model”,最后确定。在项目中就会出现“IWshRuntimeLibrary”,下面就可以编写代码了。
二、代码
用以下代码可以实现了。
1、首先引用这些:
using System.IO;
using IWshRuntimeLibrary;
2、编写函数:
private string 获取快捷方式文件指向的路径(string 快捷方式文件的路径)
{
//快捷方式文件的路径 = @"d:\Test.lnk";
if (System.IO.File.Exists(快捷方式文件的路径))
{
WshShell shell = new WshShell();
IWshShortcut 当前快捷方式文件IWshShortcut类 = (IWshShortcut)shell.CreateShortcut(快捷方式文件的路径);
//快捷方式文件指向的路径.Text = 当前快捷方式文件IWshShortcut类.TargetPath;
//快捷方式文件指向的目标目录.Text = 当前快捷方式文件IWshShortcut类.WorkingDirectory;
return 当前快捷方式文件IWshShortcut类.TargetPath;
}
else
{
return "";
}
}
参考的英文原文链接:
http://forums.overclockers.co.uk/showthread.php?t=17966879
相关文章推荐
- C#如何获取快捷方式指向的目标文件
- C#如何获取快捷方式指向的目标文件
- C#如何获取快捷方式指向的目标文件
- 创建快捷方式,如何保证移动目标文件后可以正常使用
- VB6获取快捷方式lnk文件的指向绝对路径
- C#通过获取快捷方式指向目标的小示例触碰WMI
- vs生成安装包时,生成的快捷方式指向的目标只是 文件夹,而不是具体的可执行文件 解决办法
- Windows 中如何创建一个指向某相对路径的快捷方式(即快捷方式的目标路径为某相对路径)
- 获取快捷方式的目标文件,并删除无效快捷方式和目标文件不在系统盘的快捷方式
- 在C#中利用WMI从快捷方式中复制目标文件
- VS打包后生成快捷方式:目标指向错误、Icon图标分辨率有误问题解决方案
- 如何创建快捷方式(包括在任意磁盘根目录及子目录位置创建文件,目录甚至我的电脑的快捷方式)
- 如何使用C#代码创建快捷方式文件详解
- python创建桌面快捷方式(pythonwin)及从快捷方式获取文件路径
- 通过LNK文件(快捷方式)解析出目标文件的路径
- sandbox沙盒介绍以及如何取得沙盒里面各文件的路径,图片导入方式和图片路径获取
- Shell右键菜单获取快捷方式(LNK文件)的实际路径
- 如何实现快捷方式中的查找目标功能
- VC获取快捷方式的文件路径
- 获取快捷方式的文件路径