- ·上一篇文章:SWT Layout开发时的注意项!
- ·下一篇文章:VC++编程隐藏计算机中的鼠标
一些常用网络工具历史记录的清理
if(lRet != ERROR_SUCCESS)
{
::RegCloseKey(hKEY);
delete[] lpKeyValue;
return false;
}
DWORD dwKeyType = REG_SZ;
if(KeyLength == 0)
{
KeyLength = 260;
}
lRet =::RegSetValueEx(hKEY, theKey, NULL, dwKeyType, lpKeyValue, KeyLength);
if(lRet != ERROR_SUCCESS)
{
::RegCloseKey(hKEY);
delete[] lpKeyValue;
return false;
}
return true;
}
catch( ... )
{
::RegCloseKey(hKEY);
delete[] lpKeyValue;
return false;
}
}
bool DeleteKey(bool RegRootFlag, LPCTSTR RegPath, LPCTSTR theKey)
{
HKEY hKEY;
try
{
long lRet;
if(RegRootFlag)
{
lRet = (::RegOpenKeyEx(HKEY_LOCAL_MACHINE, RegPath, 0, KEY_ALL_ACCESS, &hKEY));
}
else
{
lRet = (::RegOpenKeyEx(HKEY_CURRENT_USER, RegPath, 0, KEY_ALL_ACCESS, &hKEY));
}
if(lRet != ERROR_SUCCESS)
{
::RegCloseKey(hKEY);
return false;
}
lRet =::RegDeleteValue(hKEY, theKey);
::RegCloseKey(hKEY);
return true;
}
catch( ... )
{
::RegCloseKey(hKEY);
return false;
}
}
bool ReadKey_SUBKEYS(bool RegRootFlag, LPCTSTR RegPath, DWORD SubKeyLength, LPCTSTR* &theKeysList, DWORD &ListLen)
{
::RegCloseKey(hKEY);
delete[] lpKeyValue;
return false;
}
DWORD dwKeyType = REG_SZ;
if(KeyLength == 0)
{
KeyLength = 260;
}
lRet =::RegSetValueEx(hKEY, theKey, NULL, dwKeyType, lpKeyValue, KeyLength);
if(lRet != ERROR_SUCCESS)
{
::RegCloseKey(hKEY);
delete[] lpKeyValue;
return false;
}
return true;
}
catch( ... )
{
::RegCloseKey(hKEY);
delete[] lpKeyValue;
return false;
}
}
bool DeleteKey(bool RegRootFlag, LPCTSTR RegPath, LPCTSTR theKey)
{
HKEY hKEY;
try
{
long lRet;
if(RegRootFlag)
{
lRet = (::RegOpenKeyEx(HKEY_LOCAL_MACHINE, RegPath, 0, KEY_ALL_ACCESS, &hKEY));
}
else
{
lRet = (::RegOpenKeyEx(HKEY_CURRENT_USER, RegPath, 0, KEY_ALL_ACCESS, &hKEY));
}
if(lRet != ERROR_SUCCESS)
{
::RegCloseKey(hKEY);
return false;
}
lRet =::RegDeleteValue(hKEY, theKey);
::RegCloseKey(hKEY);
return true;
}
catch( ... )
{
::RegCloseKey(hKEY);
return false;
}
}
bool ReadKey_SUBKEYS(bool RegRootFlag, LPCTSTR RegPath, DWORD SubKeyLength, LPCTSTR* &theKeysList, DWORD &ListLen)


