如何将自己的程序设置为默认浏览器

来源:互联网 发布:杜兰特每个赛季的数据 编辑:程序博客网 时间:2024/05/17 22:57

首先要在每个shell子键下创建你的程序的程序组子键,比如你的程序是MyBrowser

那么就要创建

RegCreateKeyEx(HKEY_CLASSES_ROOT, _T("http//shell//MyBrowser//command"), NULL,NULL,NULL, KEY_ALL_ACCESS,NULL, &hKey , NULL)
 在该子键中写入你的浏览器的命令行

比如:TCHAR szKeyValue[MAX_PATH] = "c://program files//MyBrowser//MyBrowser.exe /"%1/"

RegSetValue(hKey, NULL, REG_SZ, szKeyValue, _tcslen(szKeyValue));

 然后在HKEY_CLASSES_ROOT/http/shell子键下写入程序组的名称

 

TCHAR szShell[MAX_PATH] = "MyBrowser"

if(RegCreateKeyEx(HKEY_CLASSES_ROOT, _T("http//shell"), NULL,NULL,NULL, KEY_ALL_ACCESS,NULL, &hKey , NULL) != ERROR_SUCCESS)
  AfxMessageBox(_T("没有注册表的访问权限"));
 RegSetValue(hKey, NULL, REG_SZ, szShell, _tcslen(szShell));

 

这样默认的http链接打开方式就是你的浏览器了。

以此类推,还有https,ftp,gopher,file,htmlfile,mhtmlfile等等,只要把上面的http分别替换就可以了。

另外要注意的是,如果当前帐号没有创建注册表的权限,那么无论你的程序如何设置,RegCreateKeyEx也是会返回失败的,要留意这一点。