목차 열기

티스토리 뷰

728x90
반응형

VBA WinAPI / user32 - SetForegroundWindow

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


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

user32 - SetForegroundWindow

프로그램 창을 최상위로 활성화하고, 키보드 포커스를 창으로 맞추며 사용자 시각 효과가 변경됩니다. 시스템은 다른 스레드보다 포커스 창에 더 높은 우선순위를 할당합니다.

Microsoft technical documentation

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

함수 선언

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

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

설명 및 예제

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


    '작업 실패
    Debug.Print SetForegroundWindow(0) '0

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

INDEX

VBA / INDEX

VBA / WinAPI / INDEX

728x90
반응형
댓글
글 보관함
«   2025/05   »
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 29 30 31
Total
Today
Yesterday