使用RegEnumValue清理IE历史记录

来源:互联网 发布:淘宝货到付款好不好 编辑:程序博客网 时间:2024/05/17 01:47
#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 RegDeleteValueLONG 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 RegEnumValuetmp = 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();}