Как проверить файл 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.

Объяснение кода листинга программы

  1. Объявлена переменная fn типа string, которая содержит путь к файлу для проверки.
  2. Объявлена переменная res типа DWORD, которая будет использоваться для хранения результата функции GetBinaryType.
  3. Выполнена проверка на наличие ошибки при вызове функции GetBinaryType с передачей в нее пути к файлу в виде PChar(fn) и указатель на переменную res.
  4. Если функция GetBinaryType вернула значение без ошибок, то выполняется запись в консоль значения переменной res.
  5. Если функция GetBinaryType вернула ошибку, то выполняется запись в консоль строки non-executable.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.8 из 5
Похожие ответы