実行可能形式ファイルの判定【Windows API】
ウィルス対策ソフトくらいしか使い道が無い気がしますが、与えたファイルが実行ファイルか通常のファイルか判定するAPIがあります。今回は実際にEXEファイルの判定を行ってみましょう。
char szFileName[MAX_PATH+1] = "D:\\TEST.EXE";
DWORD dwBinaryType;
if (GetBinaryType(szFileName, &dwBinaryType)) {
switch (dwBinaryType)
{
case SCS_32BIT_BINARY:
printf("Win32 ベースのアプリケーション\n");
break;
case SCS_DOS_BINARY:
printf("MS-DOS ベースのアプリケーション\n");
break;
case SCS_OS216_BINARY:
printf("16 ビット版 OS/2 ベースのアプリケーション\n");
break;
case SCS_PIF_BINARY:
printf("MS-DOS ベースのアプリケーションを実行する PIF ファイル\n");
break;
case SCS_POSIX_BINARY:
printf("POSIX ベースのアプリケーション\n");
break;
case SCS_WOW_BINARY:
printf("16 ビット版 Windows ベースのアプリケーション\n");
break;
}
}
