我正在做一个简单的工具。如果我将n个文件,文件夹拖到我的表单中,它会自动打开相应的文件和文件夹。现在我想为.lnk
文件(快捷方式)执行此操作,如果我拖动.lnk
文件,它必须打开目标文件。
答案 0 :(得分:2)
好的,这是一个简单的模拟,但你应该明白......
首先将 COM'Windows脚本宿主对象模型'引用添加到您的项目中。
接下来包括行......
using IWshRuntimeLibrary;
对于此示例,我只使用了一个列表框控件,但使用了您想要的...如果您处理 DragEnter 事件,您可以将文件名作为参数传递。然后,您可以创建 WshShell 对象以获取链接目标路径。
private void listBox1_DragEnter(object sender, DragEventArgs e)
{
String[] fileName = (String[])e.Data.GetData("FileName");
WshShell shell = new WshShell();
IWshShortcut link = (IWshShortcut)shell.CreateShortcut(fileName[0]);
String targetPath = link.TargetPath;
listBox1.Items.Add(targetPath);
}
代码不处理非快捷方式等但它应该给你一个启动器......:)