Share via


IFileDialog::SetFolder メソッド (shobjidl_core.h)

以前のユーザー 操作に関係なく、ダイアログを開いたときに常に選択されるフォルダーを設定します。

構文

HRESULT SetFolder(
  [in] IShellItem *psi
);

パラメーター

[in] psi

種類: IShellItem*

フォルダーを表すインターフェイスへのポインター。

戻り値

型: HRESULT

このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。

注釈

このフォルダーは、"最近使用した" フォルダーをオーバーライドします。 ダイアログの表示中にこのメソッドを呼び出すと、ダイアログが指定したフォルダーに移動します。

一般に、この方法の使用はお勧めしません。 ダイアログ ボックスを表示する前に SetFolder を呼び出した場合、ユーザーが保存または開いた最新の場所は表示されません。 この動作に非常に具体的な理由がない限り、適切なユーザー エクスペリエンスや期待されるユーザー エクスペリエンスではないため、回避する必要があります。 ほぼすべてのインスタンスで、 IFileDialog::SetDefaultFolder が優れた方法です。

Windows 7 の時点で、 psi で指定されたフォルダーのパスが 既知のフォルダーの既定のパスである場合、既知のフォルダーの現在のパスがダイアログで使用されます。 そのパスは 、psi で指定されたパスと同じでない場合があります。たとえば、既知のフォルダーがリダイレクトされた場合などです。 既知のフォルダーがライブラリ (仮想フォルダードキュメント、音楽、画像、ビデオ) の場合、ライブラリのパスがダイアログで使用されます。 指定したライブラリが非表示の場合 (既定ではWindows 8.1)、ライブラリの既定の保存場所 (ドキュメント ライブラリの Microsoft OneDrive ドキュメント フォルダーなど) がダイアログで使用されます。 これらのマッピングにより、ダイアログで使用されるフォルダーの場所が、このメソッドを呼び出したときに指定したとおりに表示されない場合があります。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー shobjidl_core.h (Shobjidl.h を含む)