EnumDisplayDevices는 디스플레이 장치에 대한 정보를 얻습니다.
지정한 디스플레이 장치 인덱스 번호에 해당하는 디스플레이 장치의 정보를 얻는다
● 선언
Function EnumDisplayDevices Lib "user32" Alias "EnumDisplayDevicesA" (Unused As Any, ByVal iDevNum As Long, lpDisplayDevice As DISPLAY_DEVICE, ByVal dwFlags As Long) As Boolean
● 인수
Unused ━ 디바이스 명, Null이면 iDevNum에 해당하는 디바이스 정보를 얻는다
iDevNum ━ 디스플레이 디바이스의 인덱스 번호, 디스플레이 디바이스 인덱스 번호는 0번 부터 시작하여 1씩 증가하여 부여된다
lpDisplayDevice ━ 디스플레이 디바이스 정보가 담길 구조체
dwFlags ━
● 반환
성공 ━ 0이 아닌 값
실패 ━ 0, iDevNum이 디스플레이 디바이스
소스의 실행 이미지 입니다.
소스입니다.
Option Explicit
Private Declare Function EnumDisplayDevices Lib "user32" Alias "EnumDisplayDevicesA" (Unused As Any, ByVal iDevNum As Long, lpDisplayDevice As DISPLAY_DEVICE, ByVal dwFlags As Long) As Boolean
Private Type DISPLAY_DEVICE
cb As Long
DeviceName As String * 32
DeviceString As String * 128
StateFlags As Long
DeviceID As String * 128
DeviceKey As String * 128
End Type
Private Const DISPLAY_DEVICE_ACTIVE As Long = &H1
Private Const DISPLAY_DEVICE_PRIMARY_DEVICE As Long = &H4
Private Sub Form_Load()
Dim Info As DISPLAY_DEVICE ' 다바이스 정보 구조체
Dim DNum As Long ' 디바이스 인덱스 번호
Dim Ret As Long ' 반환값
Me.AutoRedraw = True
Ret = -1
Info.cb = Len(Info)
While Not Ret = 0
If Not Ret = -1 Then
Me.Print "디스플레이 장치 번호:" & DNum
Me.Print "디스플레이 아답터명:" & GetVBStringFromAPIString(Info.DeviceString)
Me.Print "디스플레이 ID:" & GetVBStringFromAPIString(Info.DeviceName)
Me.Print "현재 활성중인 디스플레이:" & IIf((Info.StateFlags And DISPLAY_DEVICE_ACTIVE) = DISPLAY_DEVICE_ACTIVE, True, False)
Me.Print "첫번째 디스플레이 장치:" & IIf((Info.StateFlags And DISPLAY_DEVICE_PRIMARY_DEVICE) = DISPLAY_DEVICE_PRIMARY_DEVICE, True, False)
DNum = DNum + 1
End If
Info.cb = Len(Info)
Ret = EnumDisplayDevices(ByVal 0&, DNum, Info, ByVal 0&)
Wend
End Sub
Private Function GetVBStringFromAPIString(ByVal Str As String) As String
GetVBStringFromAPIString = Left$(Str, InStr(1, Str, vbNullChar) - 1)
End Function
'API' 카테고리의 다른 글
ChangeDisplaySettings을 사용한 해상도 변경 (0) | 2011.09.29 |
---|---|
EnumDisplaySettings을 사용한 현재 디스플레이애 대한 모든 모드 정보 얻기 (0) | 2011.09.29 |
WM_MOUSEWHEEL 윈도우 메세지를 사용한 휠 버튼 사용 (0) | 2011.09.26 |
LoadCursorFromFile을 사용한 에니메이션 커서 파일(*.ani) 사용하기 (0) | 2011.09.26 |
MakeSureDirectoryPathExists를 사용한 경로에 포함된 모든 디렉토리 생성 (0) | 2011.09.25 |