【C#】プログラムでショートカットファイル(.lnk)を生成する

プログラミング プログラミング
プログラミング

プログラムのショートカットはエクスプローラでファイルを選択して右クリックしてコンテキストメニューから簡単にショートカットファイルが作成できますが、エクスプローラをユーザーに開放したくない(できない)ときに、ショートカットファイルを作らなければならない場面があります。
そこで、プログラム中でショートカットを作成しようと思います。
いざ、検索して機能を調査しているとかなりヒットするのですが、なぜかコードにエラーが出ます。
そのエラーの原因も含めて解決した手順について載せておきます。
あまり、出番のないコードだとは思いますが、なにかと便利なのでコードだけアップしておこうと思います。

Sponsored links
Sponsored links

ライブラリの追加

ショートカットファイルを作成するためのIWsShellクラスを使います。
IWsShellはIWshRuntimeLibraryが必要なので参照設定をします。

ソリューションエクスプローラでプロジェクトの参照を右クリックします。
「参照の追加」をクリックし、「参照マネージャ」で「COM」を選択します。

一覧から”Windows Script Host Object Model”にチェックを入れ、[OK]をクリックします。

ソリューションエクスプローラのプロジェクトの参照に、IWshRutimeLibraryが追加されます。

サンプルコード

検索して見つかるほとんどのコードは「WshShellClass」を使っていました。どうも.NET Framework 4以降は「WshSell」で使えるようです。

タイトルとURLをコピーしました