実行可能形式ファイルの判定【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; } }