IShellBrowser::BrowseObject メソッド (shobjidl_core.h)
別のフォルダーを参照するように Windows エクスプローラーに通知します。
構文
HRESULT BrowseObject(
PCUIDLIST_RELATIVE pidl,
UINT wFlags
);
パラメーター
pidl
種類: PCUIDLIST_RELATIVE
オブジェクトの場所を指定する ITEMIDLIST (アイテム識別子リスト) 構造体のアドレス。 この値は、 wFlags パラメーターで設定されたフラグまたはフラグに依存します。
wFlags
型: UINT
参照するフォルダーを指定するフラグ。 0 または 1 つ以上の次の値を指定できます。
これらのフラグは、別のウィンドウを作成するかどうかを指定します。
SBSP_DEFBROWSER (0x0000)
既定の動作を使用します。これは、ビュー オプション (新しいウィンドウを作成したり、その場で参照したりするためのユーザー設定) を考慮します。 ほとんどの場合、呼び出し元のアプリケーションではこのフラグを使用する必要があります。
SBSP_SAMEBROWSER
同じ Windows エクスプローラー ウィンドウを持つ別のフォルダーを参照します。
SBSP_NEWBROWSER
指定したフォルダーの別のウィンドウを作成します。
次のフラグは、モードを指定します。 これらの値は、SBSP_SAMEBROWSERが指定されている場合、またはSBSP_DEFBROWSERが指定されていて、ユーザーが [場所を指定して参照] を選択した場合は無視されます。
SBSP_DEFMODE
現在のウィンドウを使用します。
SBSP_OPENMODE
新しい参照ウィンドウのフォルダー ツリーを指定しません。 現在のブラウザーが参照オブジェクト呼び出しのSBSP_OPENMODEと一致しない場合は、新しいウィンドウが開きます。
SBSP_EXPLOREMODE
新しい参照ウィンドウのフォルダー ツリーを指定します。 現在のブラウザーが参照オブジェクト呼び出しのSBSP_EXPLOREMODEと一致しない場合は、新しいウィンドウが開きます。
SBSP_HELPMODE
サポートされていません。 使用しないでください。
SBSP_NOTRANSFERHIST
閲覧履歴を新しいウィンドウに転送しないでください。
次のフラグは、 pidl パラメーターのカテゴリを指定します。
SBSP_ABSOLUTE
デスクトップを基準とした絶対 PIDL。
SBSP_RELATIVE
現在のフォルダーに対する相対 PIDL。
SBSP_PARENT
親フォルダーを参照し、PIDL を無視します。
SBSP_NAVIGATEBACK
戻り、PIDL を無視します。
SBSP_NAVIGATEFORWARD
前に移動し、PIDL を無視します。
SBSP_ALLOW_AUTONAVIGATE (0x00010000)
自動ナビゲーションを有効にします。
次のフラグは mode を指定します。
SBSP_KEEPSAMETEMPLATE (0x00020000)
Windows Vista 以降。 サポートされていません。 使用しないでください。
SBSP_KEEPWORDWHEELTEXT (0x00040000)
Windows Vista 以降。 検索入力フィールドをクリアせずに移動します。
SBSP_ACTIVATE_NOFOCUS (0x00080000)
Windows Vista 以降。 フォーカスを新しいビューに設定する既定の動作なしで移動します。
次のフラグは、ナビゲーションの結果として履歴を操作する方法を制御します。
SBSP_CALLERUNTRUSTED (0x00800000)
Microsoft Internet エクスプローラー 6 Service Pack 2 (SP2) 以降。 ナビゲーションは、ローカル システムにスクリプト コードが既に存在する Web ページによって開始された可能性があります。
SBSP_TRUSTFIRSTDOWNLOAD (0x01000000)
Microsoft Internet エクスプローラー 6 Service Pack 2 (SP2) 以降。 新しいウィンドウは、ユーザーが開始したアクションの結果です。 コンテンツのダウンロードをすぐに試みる場合は、新しいウィンドウを信頼します。
SBSP_UNTRUSTEDFORDOWNLOAD (0x02000000)
Microsoft Internet エクスプローラー 6 Service Pack 2 (SP2) 以降。 このウィンドウは、信頼されていない HTML 以外のファイルに移動しています。 ユーザーがファイルのダウンロードを試みる場合は、ダウンロードを許可しないでください。
SBSP_NOAUTOSELECT
履歴ペインでの選択を抑制します。
SBSP_WRITENOHISTORY
このナビゲーションの履歴を履歴シェル フォルダーに書き込まない。
SBSP_CREATENOHISTORY (0x00100000)
0x00100000。 Windows 7 以降。 移動ログに新しいエントリを追加しないでください。 ユーザーが検索ボックスに検索語句を入力し、その後クエリを絞り込むと、ブラウザーは前方に移動しますが、追加の移動ログ エントリは追加されません。
SBSP_TRUSTEDFORACTIVEX (0x10000000)
Microsoft Internet エクスプローラー 6 Service Pack 2 (SP2) 以降。 移動すると、ActiveX プロンプトが許可されます。
SBSP_FEEDNAVIGATION (0x20000000)
Windows インターネット エクスプローラー 7 以降。 現在のレジストリ設定で許可されている場合は、ブラウザーに移動先を指定します。
SBSP_REDIRECT (0x40000000)
別の URL へのリダイレクトを有効にします。
SBSP_INITIATEDBYHLINKFRAME (0x80000000)
SBSP_PLAYNOSOUND (0x00200000)
Windows 7 以降。 検索ボックス内の各キーストロークのナビゲーションを完全なサウンドにしないでください。
戻り値
型: HRESULT
このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。
解説
ビューでは、このメソッドを使用して、名前空間内の特定の場所を参照するように Windows エクスプローラーを強制できます。 通常、これらはビューに含まれるフォルダーです。
例
IShellBrowser* psb;
hr = IUnknown_QueryService(punkSite, SID_STopLevelBrowser, IID_PPV_ARGS(&psb));
if (SUCCEEDED(hr))
{
hr = psb->BrowseObject(pidlSearch, SBSP_DEFBROWSER | SBSP_ABSOLUTE);
psb->Release();
}
要件
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | shobjidl_core.h (Shobjidl.h を含む) |
[DLL] | Shell32.dll (バージョン 4.0 以降) |