목차 열기

티스토리 뷰

VBA/WinAPI

VBA WinAPI / user32 - ShowWindowAsync

RuungJi · 2022. 8. 28. 00:07
728x90
반응형

VBA WinAPI / user32 - ShowWindowAsync

이 글은 Excel VBA 코딩 중, Windows API 함수를 사용하는 과정을 기록하기 위한 것이므로 이 점 참고 바랍니다.


이 포스팅은 Excel VBA에서 Win API를 사용하는 것에 대해 다룹니다.

user32 - ShowWindowAsync

작업 완료를 기다리지 않고 창의 표시 상태를 설정하여, 최소화된 창을 다시 보이게 하는 등의 작업을 할 수 있습니다.

Microsoft technical documentation

https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-showwindowasync

nCmdShow 매개인자

https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-showwindow

함수 선언

코드 상단에 추가해서 사용합니다.

#If VBA7 Then
    Public Declare PtrSafe Function ShowWindowAsync Lib "user32" _
                                                                (ByVal hwnd As LongPtr, _
                                                                ByVal nCmdShow As Long) As Long
#Else
    Public Declare Function ShowWindowAsync Lib "user32" Alias "ShowWindowAsync" _
                                                                (ByVal hWnd As Long, _
                                                                ByVal nCmdShow As Long) As Long
#End If

설명 및 예제

  • 작업이 성공하면 0이 아닌 값이 반환됩니다.
  • 작업이 실패하면 0이 반환됩니다.
Function ShowWindowAsync(
    (ByVal hwnd As LongPtr, _ '핸들 윈도우
    ByVal nCmdShow As Long) As Long '1: SW_NORMAL


    '작업 실패
    Debug.Print ShowWindowAsync(0, 1) '0

    '작업 성공 (메모장)
    Debug.Print FindWindow(vbNullString, "제목 없음 - Windows 메모장") '788194
    Debug.Print ShowWindowAsync(788194, 1) ' 1

INDEX

VBA / INDEX

VBA / WinAPI / INDEX

728x90
반응형
댓글
글 보관함
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Total
Today
Yesterday