<Return[G]><Top>

GetBinaryType

Declare Function Api_GetBinaryType& Lib "kernel32" Alias "GetBinaryTypeA" (ByVal lpApplicationName$, lpBinaryType&)

Declare Function GetBinaryType Lib "kernel32" Alias "GetBinaryTypeA" (ByVal lpApplicationName As String, lpBinaryType As Long) As Long

指定されたファイルが実行可能であるかどうかを調べる。また、実行可能な場合、実行可能ファイルのタイプも調べる。この関数のパラメータは、そのファイルを実行できるサブシステムを示す。

パラメータ
lpApplicationName
    バイナリタイプを調べるべきファイルのフルパスを保持している、NULL で終わる文字列へのポインタを指定する。
    Windows NT/2000:この関数の ANSI 版では、名前は最大 MAX_PATH 文字に制限されている。

    この制限をほぼ 32,000 ワイド文字へ拡張するには、この関数の Unicode 版を呼び出し、パスの前に "\\?\" という接頭辞を追加する。
lpBinaryType
    1 個の変数へのポインタを指定する。関数から制御が返ると、この変数に、実行可能ファイルのタイプに関する情報が格納される。

    この関数は、この変数内で一連のビットフラグを調整する。次のビットフラグ定数が定義されている。

    値                                 

説明                                                                         

    SCS_32BIT_BINARY

Win32 ベースのアプリケーション

    SCS_DOS_BINARY

MS-DOS ベースのアプリケーション

    SCS_OS216_BINARY

16 ビット版 OS/2 ベースのアプリケーション 

    SCS_PIF_BINARY

MS-DOS ベースのアプリケーションを実行する PIF ファイル

    SCS_PIF_BINARY

POSIX ベースのアプリケーション

    SCS_WOW_BINARY

16 ビット版 Windows ベースのアプリケーション


戻り値
    指定したファイルが実行可能ファイルの場合、0 以外の値が返る。

    lpBinaryType パラメータが指す変数には、ファイルのタイプが格納される。
    指定したファイルが実行可能ではない場合、または関数が失敗すると、0 が返る。

    拡張エラー情報を取得するには、GetLastError 関数を使う。

解説
    uFlags パラメータで SHGFI_EXETYPE フラグを指定して SHGetFileInfo 関数を呼び出した場合も、同じ情報を取得できる。