OpenExternalBrowser

#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;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章