2009-06-02 24 views
0

私は簡単なツールをやっています。ドロップしたファイル、フォルダを自分のフォームにドラッグすると、自動的に対応するファイルとフォルダが開きます。今すぐ.lnkファイル(ショートカット)を作成したいのですが、.lnkファイルをドラッグすると、ターゲットファイルを開く必要があります。ドラッグ&ドロップのオプション

答えて

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

... :)

+0

ニース1チョーク状:) –

関連する問題