WEB开发网
开发学院软件开发VC VC中实现历史记录的全面清除 阅读

VC中实现历史记录的全面清除

 2009-10-15 20:31:28 来源:WEB开发网   
核心提示:15、清除网络联接历史记录TCHAR szPath[MAX_PATH];if (SHGetSpecialFolderPath(NULL, szPath, CSIDL_NETHOOD, FALSE)){ //得到目录,并清空 EmptyDirectory(szPath);}16、清远程登录历史记录CString sKey

15、清除网络联接历史记录

TCHAR szPath[MAX_PATH];
if (SHGetSpecialFolderPath(NULL, szPath, CSIDL_NETHOOD, FALSE))
{ //得到目录,并清空
   EmptyDirectory(szPath);
}

16、清远程登录历史记录

CString sKey;
for (int i=1; i<=8; i++)
{
    sKey.Format(_T("Machine%d"), i);
    SHDeleteValue(HKEY_CURRENT_USER,
    _T("Software\\Microsoft\\Telnet"), sKey);
    sKey.Format(_T("Service%d"), i);
    SHDeleteValue(HKEY_CURRENT_USER,
    _T("Software\\Microsoft\\Telnet"), sKey);
    sKey.Format(_T("TermType%d"), i);
    SHDeleteValue(HKEY_CURRENT_USER,
    _T("Software\\Microsoft\\Telnet"), sKey);
}
SHDeleteValue(HKEY_CURRENT_USER,
    _T("Software\\Microsoft\\Telnet"), _T("LastMachine"));
SHDeleteValue(HKEY_CURRENT_USER,
    _T("Software\\Microsoft\\Telnet"), _T("LastService"));
SHDeleteValue(HKEY_CURRENT_USER,
    _T("Software\\Microsoft\\Telnet"), _T("LastTermType"));

17、清浏览网址历史记录

下面这个函数可以用于清除网址历史记录

#include "SHLGUID.H"
HRESULT ClearHistory()
{
  HRESULT hr;
  CoInitialize(NULL);
  {
  IUrlHistoryStg2* pUrlHistoryStg2 = NULL;
   hr= CoCreateInstance(CLSID_CUrlHistory,NULL,1, IID_IUrlHistoryStg2,(void**)&pUrlHistoryStg2);
  if (SUCCEEDED(hr))
  {
    hr = pUrlHistoryStg2->ClearHistory();
    pUrlHistoryStg2->Release();
  }
  }
  CoUninitialize();
  return hr;
}

// 如果上面代码不能清

// 则有下面的,不完美,但能工作.

TCHAR szPath[MAX_PATH];
GetWindowsDirectory(szPath, MAX_PATH);
_tcscat(szPath, _T("\\History"));
EmptyDirectory(szPath, FALSE, TRUE);

if (SHGetSpecialFolderPath(NULL, szPath, CSIDL_HISTORY, FALSE))
{
  EmptyDirectory(szPath, FALSE, TRUE);
}

好了,一个简单的清除历史程序就写完了, 具体细节可以分析作者提供的源代码.

作者信息: 陈亮,cl7986@etang.com

上一页  1 2 3 4 

Tags:VC 实现 历史

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接