SHGetNewLinkInfoW

ショートカットの提案されたターゲットに基づいて新しいショートカットの名前を作成する。この関数はショートカット自体は作成せず、名前のみを作成する。(Unicode)

SHGetNewLinkInfoW pszLinkTo, pszDir, pszName, pfMustCopy, uFlags

pszLinkTo : [wstr] 型: LPCTSTR ショートカットのターゲットのパスとファイル名へのポインター。uFlags に SHGNLI_PIDL 値が含まれていない場合、このパラメーターはターゲットを格納する null 終端文字列のアドレスである。uFlags に SHGNLI_PIDL 値が含まれている場合、このパラメーターはターゲットを表す PIDL である。
pszDir : [wstr] 型: LPCTSTR ショートカットが作成されるフォルダのパスを格納する null 終端文字列へのポインター。
pszName : [wstr] 型: LPTSTR ショートカットの null 終端のパスとファイル名を受け取る文字列へのポインター。このバッファーは少なくとも MAX_PATH 文字のサイズが想定される。
pfMustCopy : [var] 型: BOOL* ショートカットがコピーされるかどうかを示すフラグを受け取る BOOL 値のアドレス。別のショートカットへのショートカットを作成するとき、シェルは単にターゲットショートカットをコピーし、コピーされたショートカットを適切に変更する。pszLinkTo で指定されたターゲットがターゲットショートカットのコピーを引き起こすショートカットを指定している場合、このパラメーターは非ゼロ値を受け取る。ターゲットがコピーされるショートカットを指定していない場合、このパラメーターはゼロを受け取る。
uFlags : [int] 型: UINT

(プラグイン / モジュール : shell32.dll)

解説

ショートカットの提案されたターゲットに基づいて新しいショートカットの名前を作成する。この関数はショートカット自体は作成せず、名前のみを作成する。(Unicode)

[戻り値]
型: BOOL 成功した場合は TRUE を、それ以外の場合は FALSE を返す。

[備考]
SHGetNewLinkInfo
は、宛先のファイルシステムが長いファイル名をサポートしているかどうかを判定する。サポートしている場合は、ショートカット名に長いファイル名が使用される。宛先のファイルシステムが長いファイル名をサポートしていない場合は、ショートカット名は
8.3 形式で返される。
> [!NOTE] > shellapi.h ヘッダーは SHGetNewLinkInfo を、UNICODE
プリプロセッサ定数の定義に基づいてこの関数の ANSI 版または Unicode
版を自動的に選択するエイリアスとして定義している。エンコーディング中立なエイリアスとそうでないコードを混在して使用すると、コンパイルや実行時のエラーにつながる不一致が発生する場合がある。詳細は
[Conventions for Function
Prototypes](/windows/win32/intl/conventions-for-function-prototypes)
を参照。

情報

プラグイン / モジュールshell32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の shell32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_shell32_gen2.hs