Internet Explorerの「お気に入り」メニューにある「お気に入りの整理」を選択すると表示されるウインドウはshdocvw.dllの中に実装されている。単独でも動作する関数なので自分のアプリケーションから利用することができる。
//
// Internet Explorerの「お気に入りの整理」ウィンドウを開く
//
bool ShowDoOrganizeFavoritesDialog(HWND hWnd,LPTSTR pszFolder=NULL)
{
BOOL ret;
HMODULE hDLL;
BOOL (WINAPI* pfnDoOrganizeFavDlg)(HWND hWnd,LPTSTR pszFolder);
hDLL = ::LoadLibrary(_T("shdocvw.dll"));
if(hDLL == NULL)
return false;
#ifdef _UNICODE
(FARPROC&)pfnDoOrganizeFavDlg = ::GetProcAddress(hDLL,"DoOrganizeFavDlgW");
#else
(FARPROC&)pfnDoOrganizeFavDlg = ::GetProcAddress(hDLL,"DoOrganizeFavDlg");
#endif
ret = FALSE;
if(pfnDoOrganizeFavDlg)
ret = pfnDoOrganizeFavDlg(hWnd,pszFolder);
::FreeLibrary(hDLL);
return ret ? true : false;
}
void Test(void)
{
bool ret;
ret = ShowDoOrganizeFavoritesDialog(NULL,NULL);
if(ret == false)
::MessageBox(NULL,_T("表示に失敗しました"),_T(""),MB_OK);
}
