shell_mklink

.lnk ショートカットを作成 (IShellLinkA COM)

shell_mklink "target", "link", "args", "desc", "workdir"

"target"  : リンク先のファイル/フォルダ
"link"    : 作成する .lnk ファイルのパス
"args"    : 起動時引数 (空文字可)
"desc"    : 説明 (tooltip、空文字可)
"workdir" : 作業ディレクトリ (空文字可)

(プラグイン / モジュール : iron_shell.hsp)

解説

shell32.dll の CLSID_ShellLink (IShellLinkA) を newcom で生成し、
SetPath / SetArguments / SetDescription / SetWorkingDir を呼び出して
IPersistFile::Save で .lnk を保存します。戻り値は 0 で成功、
-1 で QueryInterface 失敗です。

例:
  shell_mklink "C:\\app\\foo.exe", "C:\\Users\\me\\Desktop\\foo.lnk", "--verbose", "My App", "C:\\app\\"

備考:
  内部で使用しているのは IShellLinkA (ANSI 版) です。パスに非 ASCII 文字
  (日本語フォルダ名等) が含まれる場合は IShellLinkW 版の使用を検討
  してください。

情報

プラグイン / モジュールiron_shell.hsp
バージョン1.0
作成日2026-04-15
著作者IronHSP / iron_shell
URLhttps://github.com/inovia/IronHSP
備考iron_shell.hsp は shell32.dll の ShellExecute / SHFileOperation /
IShellLink 等を HSP から手軽に呼び出すためのラッパモジュールです。

#include "iron_shell.hsp"

サポート:
ファイル / URL をデフォルトアプリで開く
任意コマンドの実行 (通常 / 管理者昇格)
ファイル / フォルダをゴミ箱へ送る
エクスプローラでファイルを選択表示
.lnk ショートカットファイルの作成 (IShellLinkA COM)
タイプ拡張命令
グループiron_shell ― ショートカット
対応環境
  • その他 : Win32 / Win64
hs ファイルhsphelp\iron_shell.hs