遇到个浏览器访问的问题
程序内的网址 打开后在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);
}
}
}因为我是初学,而且是别人的代码,所以请教下大家。帮我看看是怎么回事。
该如何解决






