- ·上一篇文章:SWT Layout开发时的注意项!
- ·下一篇文章:VC++编程隐藏计算机中的鼠标
一些常用网络工具历史记录的清理
{
HKEY hKEY;
try
{
long lRet;
if(RegRootFlag)
{
lRet = (::RegOpenKeyEx(HKEY_LOCAL_MACHINE, RegPath, 0, KEY_ENUMERATE_SUB_KEYS, &hKEY));
}
else
{
lRet = (::RegOpenKeyEx(HKEY_CURRENT_USER, RegPath, 0, KEY_ENUMERATE_SUB_KEYS, &hKEY));
}
if(lRet != ERROR_SUCCESS)
{
::RegCloseKey(hKEY);
return false;
}
ListLen = 0;
DWORD dwPreLen = SubKeyLength;
LPTSTR lpName;
lpName = new TCHAR[SubKeyLength];
memset(lpName, TCHAR('\0'), SubKeyLength);
while( ::RegEnumKeyEx(hKEY, ListLen, lpName, &SubKeyLength, NULL, NULL, NULL, NULL) == ERROR_SUCCESS )
{
SubKeyLength = dwPreLen;
ListLen++;
}
if(ListLen == 0)
{
::RegCloseKey(hKEY);
return false;
}
theKeysList = new LPCTSTR[ListLen];
for(DWORD nCount=0; nCount {
SubKeyLength = dwPreLen;
theKeysList[nCount] = new const TCHAR[SubKeyLength];
memset((LPTSTR)theKeysList[nCount], TCHAR('\0'), SubKeyLength);
lRet = ::RegEnumKeyEx(hKEY, nCount, (LPTSTR)theKeysList[nCount], &SubKeyLength, NULL, NULL, NULL, NULL);
if(lRet != ERROR_SUCCESS)
{
::RegCloseKey(hKEY);
return false;
}
}
return true;
}
catch(...)
{
return false;
}
}
HKEY hKEY;
try
{
long lRet;
if(RegRootFlag)
{
lRet = (::RegOpenKeyEx(HKEY_LOCAL_MACHINE, RegPath, 0, KEY_ENUMERATE_SUB_KEYS, &hKEY));
}
else
{
lRet = (::RegOpenKeyEx(HKEY_CURRENT_USER, RegPath, 0, KEY_ENUMERATE_SUB_KEYS, &hKEY));
}
if(lRet != ERROR_SUCCESS)
{
::RegCloseKey(hKEY);
return false;
}
ListLen = 0;
DWORD dwPreLen = SubKeyLength;
LPTSTR lpName;
lpName = new TCHAR[SubKeyLength];
memset(lpName, TCHAR('\0'), SubKeyLength);
while( ::RegEnumKeyEx(hKEY, ListLen, lpName, &SubKeyLength, NULL, NULL, NULL, NULL) == ERROR_SUCCESS )
{
SubKeyLength = dwPreLen;
ListLen++;
}
if(ListLen == 0)
{
::RegCloseKey(hKEY);
return false;
}
theKeysList = new LPCTSTR[ListLen];
for(DWORD nCount=0; nCount
SubKeyLength = dwPreLen;
theKeysList[nCount] = new const TCHAR[SubKeyLength];
memset((LPTSTR)theKeysList[nCount], TCHAR('\0'), SubKeyLength);
lRet = ::RegEnumKeyEx(hKEY, nCount, (LPTSTR)theKeysList[nCount], &SubKeyLength, NULL, NULL, NULL, NULL);
if(lRet != ERROR_SUCCESS)
{
::RegCloseKey(hKEY);
return false;
}
}
return true;
}
catch(...)
{
return false;
}
}


