#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历史记录
最新推荐文章于 2016-01-09 13:12:27 发布