Как определить, является ли файл Windows PE программной или консольной подсистемой? - PullRequest
2 голосов
/ 12 октября 2011

В основном мне нужна программа, которая будет сортировать файлы Windows .exe из консольных аналогов.

Сканер файлов:

SortExe(file exe) 
{
 if (IsPeWindows(exe)) 
    {
      AddToList1(exe); 
    }
 else if (IsPeConsole())
    {
    AddToList2(exe); 
    }
 }

Как мне реализовать IsPeWindows или IsPeConsole ()?

Я не особо возражаю против того, какие языковые решения предлагаются, если они представляют собой c, c ++, c # или visual basic.

1 Ответ

5 голосов
/ 12 октября 2011

Передайте SHGFI_EXETYPE в SHGetFileInfo() и проверьте hi / loword возвращаемого значения, как описано в ссылке.

...