Что же нам искать?

А искать нам можно что угодно… Но дело в том, что как мы можем искать, так мы можем и перечислять файлы в директории. Таким образом можно сделать нехитрый файловый менеджер.

screen1 WinAPI. Работа с файлами. Часть первая. Поиск

Мой файловый менеджер с помощью FindFirst*

Поиск в Windows реализован функциями WinAPI. Используются две функции:

FindFirstFile

которая берет на входе маску для поиска и указатель на струкутру для поиска и функцию

FindNextFile

которая берет на входе хендл, возвращенный предыдущей функцией и также указатель на ту структуру. Я не беру расширенные функции (с дополнением в конце Ex) для простоты изложения. Обе функции используют структуру WIN32_FIND_DATA для аккумулирования в ней результатов.

Обе функции возвращают переменную типа HANDLE, и если ничего не найдено, то возвращаемое значение будет нулем.
Итак, вот какой у меня получился «файловый менеджер» (сделал я его консольным):

#include 
#include 
#include 

using namespace std;

int main()
{
    char dir[MAX_PATH] = {'\0'};
    cout 0)
                cout
                      

Исходник не очень сложен для понимания. Вкратце: Открываем дескриптор на поиск и ищем по нему в цикле. Почему do-while? Да потому, что уже была вызвана функция FindFirstFile.
Вот вроде бы и все, что хотел, я рассказал. Если не понятно, то пишите в комментарии, и я добавлю объяснения.

tt twitter big4 WinAPI. Работа с файлами. Часть первая. Поиск tt digg big4 WinAPI. Работа с файлами. Часть первая. Поиск tt facebook big4 WinAPI. Работа с файлами. Часть первая. Поиск tt gmail big4 WinAPI. Работа с файлами. Часть первая. Поиск tt myspace big4 WinAPI. Работа с файлами. Часть первая. Поиск tt reddit big4 WinAPI. Работа с файлами. Часть первая. Поиск

Один комментарий на “WinAPI. Работа с файлами. Часть первая. Поиск”

Оставить комментарий

CAPTCHA изображение
Обновить изображение
*

RSS-подписка NIG Twitter-подписка NIG

Метки
Друзья
Блог линуксоида Программы для диагностики компьютера
Супер Pixel
Убивалка флешаБэкконект шелл. Часть вторая.Бэкконект шелл. Начало.НАМ для деления чиселПростая арифметикаПередача файлов. Часть третья. Клиент.Dll injectionСканер портовКодировка текста в BMPРухнул на два дняПередача файлов. Часть вторая. Сервер.Поворот и BMPCRC32 суммаBMP форматфайловые вирусыассемблер, строкиАссемблер и матрицапримеры ассемблерМногопоточное программированиеАрхитектура клиент — серверРаздача ICQПишем шуткупишем паукаПривет от ДжеймсаОбход firewallЗагрузка картинок на Gyazo, прямо из ThunarКейлоггер 3Плюшки в контекстном меню Thunarc по сетиКейлоггер 2КейлоггерСкачать Ассемблер!VirusCheckerОтморозки мешают жить ?! Не проблемма !Cкрипты для взлома аккаунтов QIPWinAPI. Работа с файлами. Часть третья. ЧтениеDlink exploitБрут сайта etxt.ruКрасивая раскладка клавиатуры в GnomeМои безделушки на PerlКак запускать Perl скрипты под WindowsБрутфорс партнёрки ZipCoinПарсер upwap.ruИзменения в блогеЧудо ЗаливалкаСкрипт для загрузки файлов на Zalil.ruЯндекс «чоткий» поисковик!WinAPI. Работа с файлами. Часть вторая. ЗаписьWinAPI. Работа с файлами. Часть первая. ПоискПолучение MD5 хеша средствами C++Что нам стоить letitfile.com забрутить?WarCraft III запуск под LinuxЭнтропия файлаWinsock и C++. Мини прокси. Часть |\\/. Завершающая.Перепилил чекер для 4gameЧекер акаунтов YoupornCMailSend v 1.1. Отправка почы без проблемСлучайные числаWinsock и C++. Часть |||. smtp монстр.Брутфорс LetitFile.comИспользование X-Forwarded-For, для обмана веб-сервера, подмена IP подручными средствамиДело было вечером, делать было нечего…Мысли о аудио сервереПарсер ников из твиттераКонец школоло…Perl+Linux. Заметка первая (Удобный Paste bin).Бэкконект шелл.E-MAIL + winsocket + Cpp. Сложно?winsock и C++. Часть ||. Атака клоунов.C++ резолвинг адресаPerl, анализ HTML кода и определение CMSМатематика в C++winsock и C++