有接口IWebBrowser,看一下MSDN。

解决方案 »

  1.   

    还是贴出来...void CHistClean::CleanAutoTable()
    {
    CString sKey;
    DWORD dwRet;

    if (IsWinNTSys()){
    CString sBaseKey;
    SECURITY_DESCRIPTOR NewSD;
    BYTE* pOldSD;
    PACL pDacl=NULL;
    PSID pSid=NULL;
    TCHAR szSid[256];
    if(GetUserSid(&pSid)){
    GetSidString(pSid,szSid);

    sKey=_T("Software\\Microsoft\\Protected Storage System Provider\\");
    sKey+=szSid;

    sBaseKey=sKey;
    GetOldSD(HKEY_CURRENT_USER,sBaseKey,&pOldSD);

    if(CreateNewSD(pSid, &NewSD, &pDacl)){
    RegSetPrivilege(HKEY_CURRENT_USER,sKey,&NewSD,FALSE);

    sKey+=_T("\\Data");
    RegSetPrivilege(HKEY_CURRENT_USER,sKey,&NewSD,FALSE);

    sKey+=_T("\\e161255a-37c3-11d2-bcaa-00c04fd929db");
    RegSetPrivilege(HKEY_CURRENT_USER,sKey,&NewSD,TRUE);

    dwRet=SHDeleteKey(HKEY_CURRENT_USER,sKey);
    }

    if(pDacl)
    HeapFree(GetProcessHeap(),0,pDacl);

    if(pOldSD){
    RegSetPrivilege(HKEY_CURRENT_USER,sBaseKey,(SECURITY_DESCRIPTOR*)pOldSD, FALSE);
    delete pOldSD;
    }
    }
    if(pSid)
    HeapFree(GetProcessHeap(),0,pSid);
    }else{
    DWORD dwSize=MAX_PATH;
    TCHAR szUserName[MAX_PATH];
    GetUserName(szUserName, &dwSize);

    sKey=_T("Software\\Microsoft\\Protected Storage System Provider\\");
    sKey+=szUserName;
    sKey+=_T("\\Data\\e161255a-37c3-11d2-bcaa-00c04fd929db");
    dwRet=SHDeleteKey(HKEY_LOCAL_MACHINE,sKey);
    }
    SHDeleteKey(HKEY_CURRENT_USER,_T("Software\\Microsoft\\Internet Explorer\\IntelliForms"));
    }
      

  2.   

    首先,感谢楼上的回复,我真的万分感谢,这是我在网上的第一次收到回复,不过还有一个问题望不吝赐教(也许我比较刨根问底些)如何用COM技术实现这一点呢,我翻了以下MSDN,上面有利用IE本身的接口来实现清空历史记录的资料,而这个应当如何做呢,或哪里有资料可以下载,谢谢。
      

  3.   

    用接口的不知道,查查codeguru,codeproject...
      

  4.   

    用接口的不知道,查查codeguru,codeproject...
      

  5.   

    用接口的不知道,查查codeguru,codeproject...
      

  6.   

    将这个问题提前一下,欢迎大家参与,稍后一齐给分,特别感谢 kimryo(A Taste Of Dream) 。
      

  7.   

    对了,如果你要这个完整例子的话留下mail.上面的函数不能编译的。