HOME >> Tips >> Microsoft.NET

.NETプログラムでプログラムを起動するショートカットを作成する

2013/09/18
文書番号:20183




.NETプログラムでプログラムを起動するショートカットファイルを作成します

【参照設定】

参照設定に 「Windows Script Host Object Model」 を追加します。
参照の追加ダイアログのCOMタブにあります。

【VB.NET】


    '作成するショートカットファイルのフルパスを取得
    '(サンプルではデスクトップに”メモ帳.lnk”というショートカットファイルを作成)
    Dim ShortcutFilePath As String = Environment.GetFolderPath(System.Environment.SpecialFolder.DesktopDirectory) & "\メモ帳.lnk"

    '起動するアプリケーションを指定
    Dim app As String = "C:\Windows\System32\notepad.exe"

    'WshShellを作成
    Dim shell As New IWshRuntimeLibrary.WshShell()

    'ショートカットファイルのパスを指定してWshShortcutオブジェクトを作成
    Dim ShortcutFile As IWshRuntimeLibrary.IWshShortcut = DirectCast(shell.CreateShortcut(ShortcutFilePath), IWshRuntimeLibrary.IWshShortcut)

    'ショートカットのリンク先 を指定
    '(サンプルではメモ帳を指定)
    ShortcutFile.TargetPath = app

    'コマンドライン引数を指定
    ShortcutFile.Arguments = "/XXX"

    '作業フォルダを指定
    'ショートカットを作成するプログラムを実行したフォルダを指定
    ShortcutFile.WorkingDirectory = Application.StartupPath

    'ショートカットキーを設定 
    ShortcutFile.Hotkey = "F3"

    '実行時の大きさを指定(1:通常 3:最大化 7:最小化)
    ShortcutFile.WindowStyle = 3

    'コメント 
    ShortcutFile.Description = "メモ帳"

    'アイコンのパスを指定
    '(実行EXEファイルのインデックス0のアイコンにする)
    '※指定しなければexeの標準のアイコンになる
    'ShortcutFile.IconLocation = app & " ,0"

    'ショートカットファイルを作成する
    ShortcutFile.Save()

    'Wshオブジェクトを破棄する
    System.Runtime.InteropServices.Marshal.ReleaseComObject(ShortcutFile)


【C#】


    //作成するショートカットファイルのフルパスを取得
    //(サンプルではデスクトップに”メモ帳.lnk”というショートカットファイルを作成)
    String ShortcutFilePath = Environment.GetFolderPath(System.Environment.SpecialFolder.DesktopDirectory) + "\\メモ帳.lnk";

    //起動するアプリケーションを指定
    String app = "C:\\Windows\\System32\\notepad.exe";

    //WshShellを作成
    IWshRuntimeLibrary.WshShell shell = new IWshRuntimeLibrary.WshShell();

    //ショートカットファイルのパスを指定してWshShortcutオブジェクトを作成
    IWshRuntimeLibrary.IWshShortcut ShortcutFile = (IWshRuntimeLibrary.IWshShortcut)shell.CreateShortcut(ShortcutFilePath);

    //ショートカットのリンク先 を指定
    //(サンプルではメモ帳を指定)
    ShortcutFile.TargetPath = app;

    //コマンドライン引数を指定
    ShortcutFile.Arguments = "/XXX";

    //作業フォルダを指定
    //ショートカットを作成するプログラムを実行したフォルダを指定
    ShortcutFile.WorkingDirectory = Application.StartupPath;

    //ショートカットキーを設定 
    ShortcutFile.Hotkey = "F3";

    //実行時の大きさを指定(1:通常 3:最大化 7:最小化)
    ShortcutFile.WindowStyle = 3;

    //コメント 
    ShortcutFile.Description = "メモ帳";

    //アイコンのパスを指定
    //(自分のEXEファイルのインデックス0のアイコンにする)
    //※指定しなければexeの標準のアイコンになる
    ShortcutFile.IconLocation = app + ",0";

    //ショートカットファイルを作成する
    ShortcutFile.Save();

    //Wshオブジェクトを破棄する
    System.Runtime.InteropServices.Marshal.ReleaseComObject(ShortcutFile);


※サンプルには例外処理など入っていません。