【问题标题】:drag and drop options拖放选项
【发布时间】:2009-06-02 05:49:47
【问题描述】:

我正在做一个简单的工具。如果我将 n 个拖放文件、文件夹拖放到我的表单中,它将自动打开相应的文件和文件夹。现在我想为.lnk文件(快捷方式)做这件事,如果我拖动一个.lnk文件,它必须打开目标文件。

【问题讨论】:

    标签: c# drag-and-drop


    【解决方案1】:

    好的,这是一个简单的模型,但你应该明白了......

    首先将 COM 'Windows Script Host Object Model' 引用添加到您的项目中。

    接下来包含该行...

    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);
    }
    

    该代码不处理非快捷方式等,但它应该给你一个入门... :)

    【讨论】:

      猜你喜欢
      • 2013-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-23
      相关资源
      最近更新 更多