윈도우의 모든 창을 최소화 하는 방법 3가지를 설명할건 한다.
윈도우의 모든 창을 최소화 하기 위해서는 다음과 같은 방법이 있다.
1. 윈도우 창 최소화 하는 바로가기를 실행한다.
2. keybd_event API를 사용해서 윈도우+D키나 윈도+M키를 보낸다
3. Microsoft Shell Controls And Automation 참조한후 Shell 개체를 생성 MinimizeAll 메소드를 호출한다.

다음은 초기 화면이다.


각 버튼을 클릭하면 윈도우에 있는 모든 창이 최소화 된다.

다음은 소스이다 간단하다.
' Microsoft Shell Controls And Automation 참조시킨다
' 윈도우의 모든 창 최소화
Option Explicit

Private Declare Function MapVirtualKey Lib "user32" Alias "MapVirtualKeyA" (ByVal wCode As Long, ByVal wMapType As Long) As Long
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Const KEYEVENTF_KEYUP = &H2
Private Const MAPVK_VK_TO_VSC = 0
Private Const VK_LWIN = &H5B
Private Const vk_d = &H44
Private Const vk_m = &H4D

Private Sub Command1_Click() ' Shell.MinimizeAll
    Dim sh As Shell32.Shell
    Set sh = New Shell32.Shell
   
    sh.MinimizeAll
    Set sh = Nothing
End Sub

Private Sub Command2_Click() ' 윈도우+ D
    Dim keyscan As Long

    keyscan = MapVirtualKey(VK_LWIN, MAPVK_VK_TO_VSC)
    Call keybd_event(VK_LWIN, keyscan, 0, 0)
    keyscan = MapVirtualKey(vk_d, MAPVK_VK_TO_VSC)
    Call keybd_event(vk_d, keyscan, 0, 0)

    keyscan = MapVirtualKey(vk_d, MAPVK_VK_TO_VSC)
    Call keybd_event(vk_d, keyscan, KEYEVENTF_KEYUP, 0)
    keyscan = MapVirtualKey(VK_LWIN, MAPVK_VK_TO_VSC)
    Call keybd_event(VK_LWIN, keyscan, KEYEVENTF_KEYUP, 0)
End Sub

Private Sub Command3_Click() ' 윈도우+M
    Dim keyscan As Long
   
    keyscan = MapVirtualKey(VK_LWIN, MAPVK_VK_TO_VSC)
    Call keybd_event(VK_LWIN, keyscan, 0, 0)
    keyscan = MapVirtualKey(vk_m, MAPVK_VK_TO_VSC)
    Call keybd_event(vk_m, keyscan, 0, 0)

    keyscan = MapVirtualKey(vk_m, MAPVK_VK_TO_VSC)
    Call keybd_event(vk_m, keyscan, KEYEVENTF_KEYUP, 0)
    keyscan = MapVirtualKey(VK_LWIN, MAPVK_VK_TO_VSC)
    Call keybd_event(VK_LWIN, keyscan, KEYEVENTF_KEYUP, 0)
End Sub

추가로
모든 윈도우를 최소화 하는 바로가기 아이콘을 삭제했다면 다음과 같은 방법을 다시 만들수 있다.
텍스트 파일을 하나 만든다.
텍스트 파일에 아래의 내용을 복사한다.
[Shell]
Command=2
IconFile=explorer.exe,3
[Taskbar]
Command=ToggleDesktop
복사를 했다면 저장을 하고, 파일명의 확장자를 txt에서 scf로 고친다.
아이콘을 더블 클릭하면 윈도우의 모든 창이 최소화 된다.

+ Recent posts