Programming/Windows API
GetBinaryType함수는 해당 File이 실행 File인지 확인합니다. 이때 실행 File이 맞다면 또 어떠한 유형의 실행 File인지도 확인합니다.

Declare Function GetBinaryType Lib "kernel32" Alias "GetBinaryTypeA" (ByVal lpApplicationName As String, ByRef lpBinaryType As Integer) As Integer
▶VB.NET 선언

[DllImport("kernel32")]
public static extern int GetBinaryType(string lpApplicationName, ref int lpBinaryType);
▶C# 선언

GetBinaryType함수의 첫번째 인수는 해당 File을 확인할 경로명과 이름을 전달하고 두번째 인수에서 실행 File일 경우 해당 Type을 저장할 변수를 다음과 같이 지정합니다.

Dim iType As Integer
iType = 6
▶VB.NET

int iType;
iType = 6;
▶C#

해당 변수의 초기값을 6으로 잡은 이유는 GetBinaryType함수가 변수에 전달하는 값이 5이상은 존재하지 않기 때문입니다.(이 부분은 예상한 것일뿐 정확한 내용이 아닐 수도 있습니다.)

위에서 선언한 변수로 GetBinaryType함수를 호출하여 'C:\Program Files\ESTsoft\ALSee'에 위치해 있는 ALSee.exe File을 확인해 보도록 하겠습니다.

GetBinaryType("C:\Program Files\ESTsoft\ALSee\ALSee.exe", iType)
▶VB.NET 호출

GetBinaryType(@"C:\Program Files\ESTsoft\ALSee\ALSee.exe", ref iType);
▶C# 호출

호출 함수를 호출하면 해당 File이 어떠한 유형의 실행 File인지 확인하여 해당 유형의 값을 iType변수에 전달하게 됩니다.

아래는 각 값에 따른 File의 종류를 나타낸 표입니다.

 상수  값  설명
 SCS_32BIT_BINARY  0  Win32용 응용 Program
 SCS_DOS_BINARY  1  MS-DOS용 응용 Program
 SCS_OS216_BINARY  2  OS/2용 응용 Program
 SCS_PIF_BINARY  3  PIF File
 SCS_PISIX_BINARY  4  POSIX용 응용 Program
 SCS_WOW_BINARY  5  Win16용 응용 Program

만일 함수가 실행되고 File을 확인한 결과 해당 File이 실행 File이 아닌경우에는 0을 반환합니다.
0 0