0

問題: C# でカスタム アイコンを使用してディレクトリへのショートカットを作成する必要があります (そのための .NET API はありません)。

これまでのところ、私のC#コードでは、IShellLinkオブジェクト(実際にはIShellLinkA)を照会し、SetPathを介してターゲットパスを設定し(最後のスラッシュなしでも試しまし@"S:\my\myDirectory\"た)、SetIconLocationを介してアイコンを設定します。重要: は書き込みアクセス権のあるネットワーク ドライブです@"S:\my\myDirectory\icon.ico, 0"Save(@"S:\foo.lnk", true);S:

エクスプローラーの下に適切なアイコンのショートカットが表示されますが、ダブルクリックすると、「Windows はファイル myDirectory を検索しています。場所が参照機能を使用している場合」というエラー メッセージが表示されます。ショートカットを右クリックしてプロパティを選択すると、"Target type: file". エクスプローラーの下のディレクトリへのショートカットを手動で作成すると、"Target type: directory"

確かに明らかな何かが欠けていますが、最後の30分間、GoogleとMSDNで「ディレクトリへのショートカット/ IShellLink」を検索しましたが、何も見つかりませんでした

編集:リクエストに応じてソースを投稿:

このサイトのIShellLink 実装を使用しています。コードは非常に単純です。

ShellShortcut shortcut = new ShellShortcut(@"S:\foo.lnk");
shortcut.Description = "Sample item";
shortcut.IconPath = @"S:\my\myDirectory\icon.ico";
shortcut.IconIndex = Convert.ToInt32(0);
shortcut.Path = @"S:\my\myDirectory\";
shortcut.WorkingDirectory = @"S:\my\myDirectory\";
shortcut.Save();
4

1 に答える 1