我在做一个简单的工具。如果我拖拽n个文件,文件夹到我的表单中,它会自动打开相应的文件和文件夹。现在我想为.lnk文件(快捷方式)做这件事,如果我拖动一个.lnk文件,它必须打开目标文件。
发布于 2009-06-03 16:21:22
好吧,这是一个简单的模拟,但你应该有个想法.
首先,将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);
}代码不处理非快捷键等,但它应该给你一个开始.:)
https://stackoverflow.com/questions/938053
复制相似问题