ファイルが実行可能か調べるには GetBinaryType 関数を使います。(戻る)
プロトタイプ宣言
BOOL GetBinaryType( LPCTSTR lpApplicationName, // ファイルのフルパス LPDWORD lpBinaryType // バイナリタイプ情報 );
サンプル
#include <stdio.h> #include <windows.h> // break 付きのキーワード #define CASE break;case #define DEFAULT break;default // メイン関数 int main( void ) { DWORD dwType; GetBinaryType( TEXT("C:\\Windows\\System32\\calc.exe"), &dwType ); switch ( dwType ){ CASE SCS_32BIT_BINARY: printf( TEXT("Win32 ベースのアプリケーション\n") ); CASE SCS_DOS_BINARY: printf( TEXT("MS-DOS ベースのアプリケーション\n") ); CASE SCS_OS216_BINARY: printf( TEXT("16 ビット版 OS/2 ベースのアプリケーション\n") ); CASE SCS_PIF_BINARY: printf( TEXT("MS-DOS ベースのアプリケーションを実行する PIF ファイル\n") ); CASE SCS_POSIX_BINARY: printf( TEXT("POSIX ベースのアプリケーション\n") ); CASE SCS_WOW_BINARY: printf( TEXT("16 ビット版 Windows ベースのアプリケーション\n") ); DEFAULT: printf( TEXT("GetFileType 関数の致命的なエラーです。\n") ); } return 0; }
- バッチファイル(*.bat)やDLLファイルは実行可能とは判定しません。
※コメント投稿者のブログIDはブログ作成者のみに通知されます