用cb修改IE的主页弹出对话框提示“failed to set date ofr "start page" ”的异常,哪位大侠知道如何解决不?多谢!
用cb修改IE的主页弹出对话框提示“failed to set date ofr "start page" ”的错误,哪位大侠知道怎么解决不?谢谢!! - C++ Builder / Windows SDK/API
代码如下:
void __fastcall SetHomePage(AnsiString urlStr)
{
if( urlStr== NULL)
{
return;
}
String KeyName = "\\SOFTWARE\\Microsoft\\Internet Explorer\\Main";
TRegistry *Registry = new TRegistry;
TRegistry *Registry1 = new TRegistry;
try
{
Registry->RootKey = HKEY_LOCAL_MACHINE;
Registry1->RootKey = HKEY_CURRENT_USER;
bool bl = Registry->OpenKey(KeyName, false);
bool b2 = Registry1->OpenKey(KeyName, false);
if(bl && b2)
{
// if(Registry->DeleteKey("Start Page"))
// {
Registry->WriteString("Start Page",urlStr);
Registry1->WriteString("Start Page",urlStr);
// }
}
Registry->CloseKey();
Registry1->CloseKey();
}
__finally
{
delete Registry;
delete Registry1;
}
}
------解决方案--------------------
检查是否有杀毒软件屏蔽了写注册表的操作(大部分杀毒软件都对注册表中这个位置进行了监控)
另外,KeyName中,Software前不需要\\
代码如下:
void __fastcall SetHomePage(AnsiString urlStr)
{
if( urlStr== NULL)
{
return;
}
String KeyName = "\\SOFTWARE\\Microsoft\\Internet Explorer\\Main";
TRegistry *Registry = new TRegistry;
TRegistry *Registry1 = new TRegistry;
try
{
Registry->RootKey = HKEY_LOCAL_MACHINE;
Registry1->RootKey = HKEY_CURRENT_USER;
bool bl = Registry->OpenKey(KeyName, false);
bool b2 = Registry1->OpenKey(KeyName, false);
if(bl && b2)
{
// if(Registry->DeleteKey("Start Page"))
// {
Registry->WriteString("Start Page",urlStr);
Registry1->WriteString("Start Page",urlStr);
// }
}
Registry->CloseKey();
Registry1->CloseKey();
}
__finally
{
delete Registry;
delete Registry1;
}
}
------解决方案--------------------
检查是否有杀毒软件屏蔽了写注册表的操作(大部分杀毒软件都对注册表中这个位置进行了监控)
另外,KeyName中,Software前不需要\\