- ·上一篇文章:SWT Layout开发时的注意项!
- ·下一篇文章:VC++编程隐藏计算机中的鼠标
一些常用网络工具历史记录的清理
if( ReadKey_SUBKEYS(false, szMSNRegPath, MAX_PATH, szSubKeysList, dwListLen) )
{
for(DWORD nCount=0; nCount {
if( lstrcmp(szSubKeysList[nCount], _TEXT("0")) == 0 )
{
continue;
}
if(szSubKeysList[nCount][lstrlen(szSubKeysList[nCount])-1] != TCHAR('\\'))
{
szFullPath = new const TCHAR[lstrlen(szMSNRegPath)+lstrlen(szSubKeysList[nCount])+2];
memset((LPTSTR)szFullPath, TCHAR('\0'), lstrlen(szMSNRegPath)+lstrlen(szSubKeysList[nCount])+2);
lstrcpy((LPTSTR)szFullPath, szMSNRegPath);
lstrcat((LPTSTR)szFullPath, szSubKeysList[nCount]);
lstrcat((LPTSTR)szFullPath, _TEXT("\\"));
}
else
{
szFullPath = new const TCHAR[lstrlen(szMSNRegPath)+lstrlen(szSubKeysList[nCount])+1];
memset((LPTSTR)szFullPath, TCHAR('\0'), lstrlen(szMSNRegPath)+lstrlen(szSubKeysList[nCount])+1);
lstrcpy((LPTSTR)szFullPath, szMSNRegPath);
lstrcat((LPTSTR)szFullPath, szSubKeysList[nCount]);
}
if( FindKey_STR(false, szFullPath, _TEXT("MessageLogPath")) )
{
szDirectory = new const TCHAR[MAX_PATH*2];
memset((LPTSTR)szDirectory, TCHAR('\0'), MAX_PATH*2);
if( ReadKey_STR(false, szFullPath, _TEXT("MessageLogPath"), MAX_PATH*2, szDirectory) )
{
DeleteFolder(szDirectory);
}
}
SHDeleteKey(HKEY_CURRENT_USER, szFullPath);
}
}
else
{
return false;
}
return true;
}
catch(...)
{
return false;
}
}
bool DeleteAccountFolders(LPCTSTR szDirectory, LPCTSTR szListFileName) //删除所有的号码文件夹
{
try
{
if( !::PathFileExists(szDirectory) )
{
return false;
}
{
for(DWORD nCount=0; nCount
if( lstrcmp(szSubKeysList[nCount], _TEXT("0")) == 0 )
{
continue;
}
if(szSubKeysList[nCount][lstrlen(szSubKeysList[nCount])-1] != TCHAR('\\'))
{
szFullPath = new const TCHAR[lstrlen(szMSNRegPath)+lstrlen(szSubKeysList[nCount])+2];
memset((LPTSTR)szFullPath, TCHAR('\0'), lstrlen(szMSNRegPath)+lstrlen(szSubKeysList[nCount])+2);
lstrcpy((LPTSTR)szFullPath, szMSNRegPath);
lstrcat((LPTSTR)szFullPath, szSubKeysList[nCount]);
lstrcat((LPTSTR)szFullPath, _TEXT("\\"));
}
else
{
szFullPath = new const TCHAR[lstrlen(szMSNRegPath)+lstrlen(szSubKeysList[nCount])+1];
memset((LPTSTR)szFullPath, TCHAR('\0'), lstrlen(szMSNRegPath)+lstrlen(szSubKeysList[nCount])+1);
lstrcpy((LPTSTR)szFullPath, szMSNRegPath);
lstrcat((LPTSTR)szFullPath, szSubKeysList[nCount]);
}
if( FindKey_STR(false, szFullPath, _TEXT("MessageLogPath")) )
{
szDirectory = new const TCHAR[MAX_PATH*2];
memset((LPTSTR)szDirectory, TCHAR('\0'), MAX_PATH*2);
if( ReadKey_STR(false, szFullPath, _TEXT("MessageLogPath"), MAX_PATH*2, szDirectory) )
{
DeleteFolder(szDirectory);
}
}
SHDeleteKey(HKEY_CURRENT_USER, szFullPath);
}
}
else
{
return false;
}
return true;
}
catch(...)
{
return false;
}
}
bool DeleteAccountFolders(LPCTSTR szDirectory, LPCTSTR szListFileName) //删除所有的号码文件夹
{
try
{
if( !::PathFileExists(szDirectory) )
{
return false;
}


