OpenExternalBrowser

本文介绍了一种使用C++编程语言实现打开外部默认浏览器并加载特定URL的方法。通过调用Windows API函数,该方法能够获取与HTML文件关联的可执行文件路径,并利用ShellExecute函数启动指定的浏览器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值