#include <windows.h>
#include <tchar.h> //for '_T': identifier not found
#include <iostream>
using namespace std;
BOOL ClearHistory()
{
HKEY hKEY;
HKEY hKeyRoot = HKEY_CURRENT_USER;
DWORD index = 0;
TCHAR valueName[MAX_PATH];
BYTE data[MAX_PATH];
//KEY_QUERY_VALUE for RegEnumValue
//KEY_SET_VALUE for RegDeleteValue
LONG ret = ::RegOpenKeyEx(hKeyRoot,_T("Software\\Microsoft\\Internet Explorer\\TypedURLs"), \
0,KEY_QUERY_VALUE|KEY_SET_VALUE ,&hKEY );
if( ret != ERROR_SUCCESS )
{
cout << "fail in ClearHistory-RegOpenKeyEx" << endl;
return FALSE;
}
while ( true )
{
int tmp;
DWORD len1 = MAX_PATH;
DWORD len2 = MAX_PATH; //must reset before RegEnumValue
tmp = RegEnumValue(hKEY, index, valueName, &len1, 0, 0, data, &len2 );
if ( tmp == ERROR_NO_MORE_ITEMS )
break;
cout << valueName << "\t" << data << endl;
tmp = RegDeleteValue(hKEY, valueName );
if ( tmp != ERROR_SUCCESS )
{
cout << "fail in calling RegDeleteValue" << endl;
return FALSE;
}
}
return TRUE;
}
void main()
{
ClearHistory();
}
使用RegEnumValue清理IE历史记录
最新推荐文章于 2019-07-11 15:36:14 发布