別のアプリケーション内からアプリケーションのショートカットを実行する「公式の」方法は何なのだろうか。
このような:
string program = "application.exe";
Process.Start(program);
application.exe
がショートカットの場合、これは機能しません。
もちろん、その理由は、アプリケーションの実際のファイル名がappication.exe.lnk
. これで、Windows エクスプローラーにはその.lnk
部分が表示されなくなります ([既知のファイル タイプの拡張子を非表示にする] をオフにしても) dir
、DOS ボックスでは表示されます。
そこで思いついたのがこれ
string program = "application.exe";
if (!File.Exists(program)) program += ".lnk";
Process.Start(program);
しかし、もっと良い方法があるかどうか疑問に思っています。これは…まだらっぽい。しかし、私の検索は空になりました。ショートカットの作成方法などの説明しかありません。