プログラミングのメモ帳(C/C++/HSP)

日々のプログラミングで気づいた点や小技集を紹介します。(Windows 10/XP/Vista、VC2017、HSP)

ファイルが実行可能か調査

2011年12月03日 02時03分00秒 | ファイル関連

ファイルが実行可能か調べるには 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ファイルは実行可能とは判定しません。

関連記事



コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« ファイルサイズの取得(2) | トップ | 目的別 Win32API のサンプル集 »
最新の画像もっと見る

コメントを投稿

ファイル関連」カテゴリの最新記事