Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 2 августа!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Слушай, дружище, зачем так мучиться с этим языком С++, ты ведь не Билл Гейтс. Возьми тот же Python и программируй, он кроссплатформенный, под Windows тоже работает. Я сам давно заметил: то что на Си пишешь в страницу кода, на питоне решается в одну-две строки. При том, питон намного проще, я его сам недавно изучил по видеокурсу вот этому. Кстати, автор отлично там объясняет. Буквально день-два и уже будешь писать на нём, чего не скажешь про сложный С++.

Удаляем Temporary Internet Files


Автор: Peter Sun.

От Автора: В IE5, Вы можете удалить Temporary Internet Files в "Internet Options" на закладке "Свойства". А Вам никогда не хотелось, чтобы удалением Temporary Internet Files занималось Ваше приложение? Данный пример показывает - как это можно сделать с помощью WinInet API-функций: FindFirstUrlCacheEntry, FindNextUrlCacheEntry, DeleteUrlCacheEntry, и FindCloseUrlCache.

Они не документированы, но я попробовал, и они работают в VC++ 6.0 на Win98/NT.


 
 #include <wininet.h>
 
 //
 
 // Удаление всех файлов в папке Temporary Internet Files
 
 //
 
 // Внимание, данный пример не удаляет Кукисы
 
 // [смотри if (!(lpCacheEntry->CacheEntryType & COOKIE_CACHE_ENTRY))]
 
 //
 
 BOOL DelTempFiles()
 
 {
 
     BOOL bResult = FALSE;
 
     BOOL bDone = FALSE;
 
     LPINTERNET_CACHE_ENTRY_INFO lpCacheEntry = NULL;
 
 
 
     DWORD  dwTrySize, dwEntrySize = 4096; // размер буфера
 
     HANDLE hCacheDir = NULL;
 
     DWORD  dwError = ERROR_INSUFFICIENT_BUFFER;
 
 
 
     do
 
     {
 
         switch (dwError)
 
         {
 
             // need a bigger buffer
 
             case ERROR_INSUFFICIENT_BUFFER:
 
                 delete [] lpCacheEntry;
 
                 lpCacheEntry = (LPINTERNET_CACHE_ENTRY_INFO) new char[dwEntrySize];
 
                 lpCacheEntry->dwStructSize = dwEntrySize;
 
                 dwTrySize = dwEntrySize;
 
                 BOOL bSuccess;
 
                 if (hCacheDir == NULL)
 
 
 
                     bSuccess = (hCacheDir
 
                       = FindFirstUrlCacheEntry(NULL, lpCacheEntry,
 
                       &dwTrySize)) != NULL;
 
                 else
 
                     bSuccess = FindNextUrlCacheEntry(hCacheDir, lpCacheEntry, &dwTrySize);
 
 
 
                 if (bSuccess)
 
                     dwError = ERROR_SUCCESS;
 
                 else
 
                 {
 
                     dwError = GetLastError();
 
                     dwEntrySize = dwTrySize; // возвращаем новый размер буфера
 
                 }
 
                 break;
 
 
 
              // уже всё удалено
 
             case ERROR_NO_MORE_ITEMS:
 
                 bDone = TRUE;
 
                 bResult = TRUE;
 
                 break;
 
 
 
              // если нет ошибок
 
             case ERROR_SUCCESS:
 
 
 
                 // кукисы не удалять
 
                 if (!(lpCacheEntry->CacheEntryType & COOKIE_CACHE_ENTRY))
 
 
 
                  DeleteUrlCacheEntry(lpCacheEntry->lpszSourceUrlName);
 
 
 
                 // Удаляем следующий элемент
 
                 dwTrySize = dwEntrySize;
 
                 if (FindNextUrlCacheEntry(hCacheDir, lpCacheEntry, &dwTrySize))
 
                     dwError = ERROR_SUCCESS;
 
 
 
                 else
 
                 {
 
                     dwError = GetLastError();
 
                     dwEntrySize = dwTrySize; // возвращаем новый размер буфера
 
                 }
 
                 break;
 
 
 
             // по умолчанию
 
             default:
 
                 bDone = TRUE;
 
                 break;
 
         }
 
 
 
         if (bDone)
 
         {
 
             delete [] lpCacheEntry;
 
             if (hCacheDir)
 
                 FindCloseUrlCache(hCacheDir);
 
 
 
         }
 
     } while (!bDone);
 
     return bResult;
 
 }
 
 


<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS