次の方法で共有


SHGetNewLinkInfoW 関数 (shellapi.h)

ショートカットの提案されたターゲットに基づいて、新しいショートカットの名前を作成します。 この関数では、ショートカットは作成されず、名前だけが作成されます。

構文

BOOL SHGetNewLinkInfoW(
  [in]  LPCWSTR pszLinkTo,
  [in]  LPCWSTR pszDir,
  [out] LPWSTR  pszName,
  [out] BOOL    *pfMustCopy,
  [in]  UINT    uFlags
);

パラメーター

[in] pszLinkTo

型: LPCTSTR

ショートカットのターゲットのパスとファイル名へのポインター。 uFlagsSHGNLI_PIDL 値が含まれていない場合、このパラメーターはターゲットを含む null で終わる文字列のアドレスです。 uFlagsSHGNLI_PIDL 値が含まれている場合、このパラメーターはターゲットを表す PIDL です。

[in] pszDir

型: LPCTSTR

ショートカットが作成されるフォルダーのパスを含む null で終わる文字列へのポインター。

[out] pszName

型: LPTSTR

null で終わるパスとショートカットのファイル名を受け取る文字列へのポインター。 このバッファーは、少なくともMAX_PATH文字のサイズであると見なされます。

[out] pfMustCopy

型: BOOL*

ショートカットをコピーするかどうかを示すフラグを受け取る BOOL 値のアドレス。 別のショートカットへのショートカットが作成されると、シェルは単にターゲット ショートカットをコピーし、コピーしたショートカットを適切に変更します。 このパラメーターは、pszLinkTo で指定されたターゲットがターゲット ショートカットをコピーするショートカットを指定した場合、0 以外の値を受け取ります。 ターゲットでコピーされるショートカットが指定されていない場合、このパラメーターは 0 を受け取ります。

[in] uFlags

型: UINT

関数のオプション。 0 または次の値の組み合わせを指定できます。

SHGNLI_PIDL (0x000000001)

0x000000001。 pszLinkTo 指すターゲットは、ターゲットを表す PIDL です。 このフラグが含まれていない場合、pszLinkTo は、ターゲットのパスとファイル名を含む文字列のアドレスと見なされます。

SHGNLI_NOUNIQUE (0x000000002)

0x000000002。 ショートカット名がコピー先フォルダー内で一意であることを確認する通常のチェックをスキップします。 このフラグが含まれていない場合、関数はショートカット名を作成し、その名前が移動先フォルダーで一意かどうかを判断します。 コピー先フォルダーに同じ名前のファイルが既に存在する場合は、ショートカット名が変更されます。 このプロセスは、一意の名前が見つかるまで繰り返されます。

SHGNLI_PREFIXNAME (0x000000004)

0x000000004。 作成された名前の前には、"Shortcut to" という文字列が付きます。

SHGNLI_NOLNK (0x000000008)

0x000000008。 バージョン 5.0 .lnk ファイル名拡張子を追加しないでください。 このフラグを使用するには、_WIN32_IE マクロを 5.01 以上に設定する必要があります。 バージョン管理の詳細については、「シェルおよび共通コントロールのバージョン」を参照してください。

SHGNLI_NOLOCNAME (0x000000010)

0x000000010。 Windows Vista 以降のを します。 pszLinkTo が指すターゲットのローカライズされていない解析名をショートカット ファイルの名前として使用します。 このフラグが設定されていない場合は、ローカライズされた名前が使用されます。

SHGNLI_USEURLEXT (0x000000020)

0x000000020。 Windows 7 以降のを します。 pszNameが指す名前に 、(.lnkではなく) .url ファイル名拡張子 追加します。 このフラグが設定されていない場合、ショートカット名は、SHGNLI_NOLNKが設定されていない限り、.lnk拡張子を使用します。

戻り値

型: BOOL

成功した場合 TRUE を返します。それ以外の場合は、FALSEを します。

備考

SHGetNewLinkInfo 、コピー先のファイル システムが長いファイル名をサポートしているかどうかを判断します。 その場合は、ショートカット名に長いファイル名が使用されます。 コピー先のファイル システムが長いファイル名をサポートしていない場合、ショートカット名は 8.3 形式で返されます。

手記

shellapi.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして SHGetNewLinkInfo を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional、Windows XP、Windows 7 [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー shellapi.h
ライブラリ Shell32.lib
DLL Shell32.dll (バージョン 4.71 以降)