- ·上一篇文章:SWT Layout开发时的注意项!
- ·下一篇文章:VC++编程隐藏计算机中的鼠标
一些常用网络工具历史记录的清理
bool ClearIEHistory(void) //清理IE缓存
{
try
{
//页面文件的清理
HANDLE hEntry;
LPINTERNET_CACHE_ENTRY_INFO lpCacheEntry = NULL;
DWORD dwEntrySize = 0;
hEntry = FindFirstUrlCacheEntry(NULL, NULL, &dwEntrySize);
lpCacheEntry = (LPINTERNET_CACHE_ENTRY_INFO) new char[dwEntrySize];
hEntry = FindFirstUrlCacheEntry(NULL, lpCacheEntry, &dwEntrySize);
if(hEntry)
{
do
{
DeleteUrlCacheEntry(lpCacheEntry->lpszSourceUrlName);
dwEntrySize = 0;
FindNextUrlCacheEntry(hEntry, NULL, &dwEntrySize);
delete [] lpCacheEntry;
lpCacheEntry = (LPINTERNET_CACHE_ENTRY_INFO) new char[dwEntrySize];
}
while (FindNextUrlCacheEntry(hEntry, lpCacheEntry, &dwEntrySize));
}
// 清浏览网址历史记录
HRESULT hr;
IUrlHistoryStg2* pUrlHistoryStg2 = NULL;
CoInitialize(NULL);
hr = CoCreateInstance(CLSID_CUrlHistory, NULL, CLSCTX_INPROC_SERVER, IID_IUrlHistoryStg2, (void**)&pUrlHistoryStg2);
if (SUCCEEDED(hr))
{
hr = pUrlHistoryStg2->ClearHistory();
pUrlHistoryStg2->Release();
}
CoUninitialize();
//浏览器地址栏历史地址的清除
SHDeleteKey(HKEY_CURRENT_USER, _TEXT("Software\\Microsoft\\Internet Explorer\\TypedURLs"));
return true;
}
catch(...)
{
return false;
}
}
bool ClearQQHistory(void) //清理QQ账户文件夹
{
try
{
LPCTSTR szFullPath, szDirectory;
LPCTSTR szQQRegPath = _TEXT("SOFTWARE\\Tencent\\PlatForm_Type_List\\1\\");
LPCTSTR szTMRegPath = _TEXT("SOFTWARE\\Tencent\\PlatForm_Type_List\\2\\");
LPCTSTR szQQGameRegPath = _TEXT("SOFTWARE\\Tencent\\QQGame\\SYS\\");
LPCTSTR szQQGameCfgFile = _TEXT("config\\Info.ini");
if( FindKey_STR(true, szQQRegPath, _TEXT("TypePath")) )
{
if( ReadKey_STR(true, szQQRegPath, _TEXT("TypePath"), MAX_PATH, szFullPath) )
{
if(lstrlen(szFullPath)>=9)
{
szDirectory = new const TCHAR[lstrlen(szFullPath)-6+1]; // \QQ.exe
memset((LPTSTR)szDirectory, TCHAR('\0'), lstrlen(szFullPath)-6+1);
_tcsncpy((LPTSTR)szDirectory, szFullPath, lstrlen(szFullPath)-6);
DeleteAccountFolders(szDirectory, _TEXT("LoginUinList.DAT"));
}
}
}
{
try
{
//页面文件的清理
HANDLE hEntry;
LPINTERNET_CACHE_ENTRY_INFO lpCacheEntry = NULL;
DWORD dwEntrySize = 0;
hEntry = FindFirstUrlCacheEntry(NULL, NULL, &dwEntrySize);
lpCacheEntry = (LPINTERNET_CACHE_ENTRY_INFO) new char[dwEntrySize];
hEntry = FindFirstUrlCacheEntry(NULL, lpCacheEntry, &dwEntrySize);
if(hEntry)
{
do
{
DeleteUrlCacheEntry(lpCacheEntry->lpszSourceUrlName);
dwEntrySize = 0;
FindNextUrlCacheEntry(hEntry, NULL, &dwEntrySize);
delete [] lpCacheEntry;
lpCacheEntry = (LPINTERNET_CACHE_ENTRY_INFO) new char[dwEntrySize];
}
while (FindNextUrlCacheEntry(hEntry, lpCacheEntry, &dwEntrySize));
}
// 清浏览网址历史记录
HRESULT hr;
IUrlHistoryStg2* pUrlHistoryStg2 = NULL;
CoInitialize(NULL);
hr = CoCreateInstance(CLSID_CUrlHistory, NULL, CLSCTX_INPROC_SERVER, IID_IUrlHistoryStg2, (void**)&pUrlHistoryStg2);
if (SUCCEEDED(hr))
{
hr = pUrlHistoryStg2->ClearHistory();
pUrlHistoryStg2->Release();
}
CoUninitialize();
//浏览器地址栏历史地址的清除
SHDeleteKey(HKEY_CURRENT_USER, _TEXT("Software\\Microsoft\\Internet Explorer\\TypedURLs"));
return true;
}
catch(...)
{
return false;
}
}
bool ClearQQHistory(void) //清理QQ账户文件夹
{
try
{
LPCTSTR szFullPath, szDirectory;
LPCTSTR szQQRegPath = _TEXT("SOFTWARE\\Tencent\\PlatForm_Type_List\\1\\");
LPCTSTR szTMRegPath = _TEXT("SOFTWARE\\Tencent\\PlatForm_Type_List\\2\\");
LPCTSTR szQQGameRegPath = _TEXT("SOFTWARE\\Tencent\\QQGame\\SYS\\");
LPCTSTR szQQGameCfgFile = _TEXT("config\\Info.ini");
if( FindKey_STR(true, szQQRegPath, _TEXT("TypePath")) )
{
if( ReadKey_STR(true, szQQRegPath, _TEXT("TypePath"), MAX_PATH, szFullPath) )
{
if(lstrlen(szFullPath)>=9)
{
szDirectory = new const TCHAR[lstrlen(szFullPath)-6+1]; // \QQ.exe
memset((LPTSTR)szDirectory, TCHAR('\0'), lstrlen(szFullPath)-6+1);
_tcsncpy((LPTSTR)szDirectory, szFullPath, lstrlen(szFullPath)-6);
DeleteAccountFolders(szDirectory, _TEXT("LoginUinList.DAT"));
}
}
}


