设为首页 加入收藏

TOP

VC获取默认浏览器(一)
2013-05-03 18:11:17 来源: 作者: 【 】 浏览:120
Tags:获取 默认 浏览器

  如何获取系统当前的默认浏览器呢?呃,如果你说,去读HKEY_CLASSES_ROOT\http\shell\open\command 的注册表值,也不是不可以,但在WIN7 下不一定正确。那么我是怎么知道的呢?

  昨天这样读了半天,发现总是不正确,我们将Chrome 设为默认浏览器,发现QQ 电脑管家弹出提示,然后果断打开之,发现:

 

  我们果断得到了一个注册表项:

  HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\Ftp\UserChoice[Progid]。

  然后发现它的值为ChromeHTML.FXI4CGER3K4X3DSME7GMQ74NWM。

  然后我们去HKEY_CLASSES_ROOT\ChromeHTML.FXI4CGER3K4X3DSME7GMQ74NWM\shell\open\command 下,就可以读出默认值了。

 

  如果是IE 浏览器的话,将在HKEY_CLASSES_ROOT\IE.FTP\shell\open\command 下获取到。所以,在WIN7 下整个获取过程如下:

  [cpp]

  void LaunchDefaultBrowser()

  {

  HKEY hDefBrowserPos = NULL;

  wstring wstrDefBrowserPath = L"iexplore.exe";

  WCHAR wszBuffer[MAX_PATH + 1] = {0};

  DWORD dwDataSize = sizeof(wszBuffer);

  if (ERROR_SUCCESS == ::RegGetValueW(

  HKEY_CURRENT_USER,

  L"Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\Ftp\\UserChoice\\",

  L"Progid",

  RRF_RT_REG_SZ,

  0,

  wszBuffer,

  &dwDataSize

  ))

   

首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇尽量使用C++风格的类型转换 下一篇VC++网络编程-文件传输

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: