遇到个浏览器访问的问题
程序内的网址 打开后在IE中显示正常
而在其它浏览器中(腾讯TT)。地址前被多加了个 %1"
pMyFun->GetUrl(http://www.);
点击打开后 网址前面就多了个 %1"
//注:GetUrl(CString url)程序是已经封装好的利用默认浏览器打开网页的函数
相关代码
程序代码:
//利用默认浏览器打开网页 void CMyFun::GetUrl(CString sURL) { HKEY hkRoot,hSubKey; //定义注册表根关键字及子关键字 char ValueName[256]; unsigned char DataValue[256]; unsigned long cbValueName=256; unsigned long cbDataValue=256; char ShellChar[256]; //定义命令行 DWORD dwType; //打开注册表根关键字 if(RegOpenKey(HKEY_CLASSES_ROOT,NULL,&hkRoot)==ERROR_SUCCESS) { //打开子关键字 if(RegOpenKeyEx(hkRoot, "htmlfile\\shell\\open\\command", 0, KEY_ALL_ACCESS, &hSubKey)==ERROR_SUCCESS) { //读取注册表,获取默认浏览器的命令行 RegEnumValue(hSubKey, 0, ValueName, &cbValueName, NULL, &dwType, DataValue, &cbDataValue); // 调用参数(主页地址)赋值 strcpy(ShellChar,(char *)DataValue); strcat(ShellChar," ");//增加空格,以区分系统参数及用户变量 strcat(ShellChar,sURL); // 启动浏览器 WinExec(ShellChar,SW_SHOW); } else { //关闭注册表 RegCloseKey(hSubKey); RegCloseKey(hkRoot); } } }
因为我是初学,而且是别人的代码,所以请教下大家。帮我看看是怎么回事。
该如何解决