BOOL CHistoryClearDlg::DeleteUrlCache(DEL_CACHE_TYPE type)
{
BOOL bRet = FALSE;
HANDLE hEntry;
LPINTERNET_CACHE_ENTRY_INFO lpCacheEntry = NULL;
DWORD dwEntrySize; //delete the files
dwEntrySize = 0;
hEntry = FindFirstUrlCacheEntry(NULL, NULL, &dwEntrySize);
lpCacheEntry = (LPINTERNET_CACHE_ENTRY_INFO) new char[dwEntrySize];
hEntry = FindFirstUrlCacheEntry(NULL, lpCacheEntry, &dwEntrySize);
if (!hEntry)
{
goto cleanup;
} do
{
if (type == File &&
!(lpCacheEntry->CacheEntryType & COOKIE_CACHE_ENTRY))
{
DeleteUrlCacheEntry(lpCacheEntry->lpszSourceUrlName);
}
else if (type == Cookie &&
(lpCacheEntry->CacheEntryType & COOKIE_CACHE_ENTRY))
{
DeleteUrlCacheEntry(lpCacheEntry->lpszSourceUrlName);
} dwEntrySize = 0;
FindNextUrlCacheEntry(hEntry, NULL, &dwEntrySize);
delete [] lpCacheEntry;
lpCacheEntry = (LPINTERNET_CACHE_ENTRY_INFO) new char[dwEntrySize];
}
while (FindNextUrlCacheEntry(hEntry, lpCacheEntry, &dwEntrySize)); bRet = TRUE;
cleanup:
if (lpCacheEntry)
{
delete [] lpCacheEntry;
}
return bRet;
}
发现一个问题:
我的是unicode工程,尝试将DeleteUrlCacheEntry换成DeleteUrlCacheEntryW时出现
error C2065: 'DeleteUrlCacheEntryW' : undeclared identifier
而将FindFirstUrlCacheEntry和FindNextUrlCacheEntry分别换成FindFirstUrlCacheEntryW和FindNextUrlCacheEntryW则没有这种问题。难道是VC6版本过老,有Bug还是什么?我是VC6(sp6).紧急求助!
{
BOOL bRet = FALSE;
HANDLE hEntry;
LPINTERNET_CACHE_ENTRY_INFO lpCacheEntry = NULL;
DWORD dwEntrySize; //delete the files
dwEntrySize = 0;
hEntry = FindFirstUrlCacheEntry(NULL, NULL, &dwEntrySize);
lpCacheEntry = (LPINTERNET_CACHE_ENTRY_INFO) new char[dwEntrySize];
hEntry = FindFirstUrlCacheEntry(NULL, lpCacheEntry, &dwEntrySize);
if (!hEntry)
{
goto cleanup;
} do
{
if (type == File &&
!(lpCacheEntry->CacheEntryType & COOKIE_CACHE_ENTRY))
{
DeleteUrlCacheEntry(lpCacheEntry->lpszSourceUrlName);
}
else if (type == Cookie &&
(lpCacheEntry->CacheEntryType & COOKIE_CACHE_ENTRY))
{
DeleteUrlCacheEntry(lpCacheEntry->lpszSourceUrlName);
} dwEntrySize = 0;
FindNextUrlCacheEntry(hEntry, NULL, &dwEntrySize);
delete [] lpCacheEntry;
lpCacheEntry = (LPINTERNET_CACHE_ENTRY_INFO) new char[dwEntrySize];
}
while (FindNextUrlCacheEntry(hEntry, lpCacheEntry, &dwEntrySize)); bRet = TRUE;
cleanup:
if (lpCacheEntry)
{
delete [] lpCacheEntry;
}
return bRet;
}
发现一个问题:
我的是unicode工程,尝试将DeleteUrlCacheEntry换成DeleteUrlCacheEntryW时出现
error C2065: 'DeleteUrlCacheEntryW' : undeclared identifier
而将FindFirstUrlCacheEntry和FindNextUrlCacheEntry分别换成FindFirstUrlCacheEntryW和FindNextUrlCacheEntryW则没有这种问题。难道是VC6版本过老,有Bug还是什么?我是VC6(sp6).紧急求助!
BOOL DeleteUrlCacheEntry(
LPCTSTR lpszUrlName
);
BOOLAPI
DeleteUrlCacheEntry(
IN LPCSTR lpszUrlName
);
请问怎么办啊?
其实用LoadLibrary、GetProcAddress是很容易的,有这时间应该已经改完了。