윈도우의 모든 창을 최소화 하는 방법 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로 고친다.
아이콘을 더블 클릭하면 윈도우의 모든 창이 최소화 된다.
'API' 카테고리의 다른 글
CreateFont를 사용한 문자열 표시 각도 변환(메모리 사용후 대상 DC에 복사) (0) | 2011.09.22 |
---|---|
CreateFont를 사용한 문자열 표시 각도 변환(DC에 직접) (0) | 2011.09.22 |
CreateFontIndirect를 사용한 문자열 세로 출력 (0) | 2011.09.22 |
GetFileVersionInfo를 사용한 파일 버전 정보 얻기 (0) | 2011.09.21 |
ExtractIcon를 사용한 확장자에 해당하는 아이콘을 픽처박스에 그리기 (0) | 2011.09.20 |