#include "stdafx.h"
#include "./ExternalBrowser.h"
#include <shellapi.h>
#include "IString.h"
BOOL OpenExternalBrowser(const char *pszURL)
{
DWORD dwOut = MAX_PATH + 5;
IString strExecutableFile;
//HTML拡張子に関連付けられた実行ファイル取得する
::AssocQueryString(ASSOCF_NOTRUNCATE,ASSOCSTR_EXECUTABLE,".html",_T("open"),strExecutableFile.GetBufferSetLength(MAX_PATH + 5),&dwOut);
strExecutableFile.ReleaseBuffer();
//ブラウザの種類
if(!strExecutableFile.IsEmpty()){
//スペースがあるパス名時エラーがあるので、引用符ないのパス名は「""」追加する
IString strURL = pszURL;
if (strURL.Left(1) != "/""){
strURL.Insert(0,'"');
strURL +="/"";
}
//指定されたブラウザの種類に対して、指定されたURLを実行します。
HINSTANCE result = ShellExecute(NULL,NULL,strExecutableFile,strURL,NULL,SW_SHOWDEFAULT);
//MSDN->関數が成功すると、32 より大きい値が返ります。
if ((int)result > 32) {
return TRUE;
}
}
return FALSE;
}