параметры перетаскивания - PullRequest
0 голосов
/ 02 июня 2009

Я делаю простой инструмент. Если я перетащу n-файлы, папки в мою форму, автоматически откроется соответствующий файл и папка. Теперь я хочу сделать это для .lnk файлов (ярлыков), если я перетащу файл .lnk, он должен открыть целевой файл.

1 Ответ

2 голосов
/ 03 июня 2009

Хорошо, это простой макет, но вы должны понять ...

Сначала добавьте ссылку COM 'Объектная модель Windows Script Host 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);
}

Код не обрабатывает не ярлыки и т. Д., Но он должен дать вам старт ...:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...