Как проверить файл exe ли это? - Free Pascal
Формулировка задачи:
Знаю, что eсли первые два символа MZ, то это файл EXE. Кто-нибудь может написать примерно код, как проверить файл exe или нет?
Решение задачи: «Как проверить файл exe ли это?»
textual
Листинг программы
{$mode objfpc} {$H+} uses Windows; var fn : string = 'd:\test\project1.exe'; res : DWORD; begin if GetBinaryType(PChar(fn), res) then begin writeln(res); // список кодов есть в MSDN end else writeln('non-executable'); end.
Объяснение кода листинга программы
- Объявлена переменная fn типа string, которая содержит путь к файлу для проверки.
- Объявлена переменная res типа DWORD, которая будет использоваться для хранения результата функции GetBinaryType.
- Выполнена проверка на наличие ошибки при вызове функции GetBinaryType с передачей в нее пути к файлу в виде PChar(fn) и указатель на переменную res.
- Если функция GetBinaryType вернула значение без ошибок, то выполняется запись в консоль значения переменной res.
- Если функция GetBinaryType вернула ошибку, то выполняется запись в консоль строки
non-executable
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д