• 如何將桌面上所有視窗縮小

  方法一

    '需要一個Command1
    Private Declare Sub keybd_event Lib "user32" ( _
             ByVal bVk As Byte, _
             ByVal bScan As Byte, _
             ByVal dwFlags As Long, _
             ByVal dwExtraInfo As Long)

          Const KEYEVENTF_KEYUP = &H2
          Const VK_LWIN = &H5B

          Private Sub Command1_Click()
             ' 77 is the character code for the letter 'M'
             Call keybd_event(VK_LWIN, 0, 0, 0)
             Call keybd_event(77, 0, 0, 0)
             Call keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0)
          End Sub
     

  方法二

    可呼叫*.SCF檔 去完成 檔案內容如下
    [Shell]
    Command=2
    [Taskbar]
    Command=ToggleDesktop
    啟動這檔案便可以輕易做到
    在VB下的做法如下 先宣告一個資料結構
    Private Type SCFFile
       Tittle1 As String * 9
       Command1 As String * 11
       Tittle2 As String * 11
       Command2 As String * 21
    End Type
    然後使用以下程式碼呼叫
    Dim FileData As SCFFile
    Open "C:\Honey.scf" For Binary As #1
    FileData.Tittle1 = "[Shell]" & Chr(13) & Chr(10)
    FileData.Command1 = "Command=2" & Chr(13) & Chr(10)
    FileData.Tittle2 = "[Taskbar]" & Chr(13) & Chr(10)
    FileData.Command2 = "Command=ToggleDesktop"
    Put #1, , FileData
    Close
    Shell "Start c:\Honey.scf" '/*啟動Honey.scf*/
    Kill "C:\Honey.scf" '/*這檔案已經不在使用 殺掉他*/
    就完成了
      若要還原只要在執行一次就行了
     

  方法三

    這是在VB入門網看到的,節錄自VB Square

    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
    (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" _
    (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _
    ByVal lParam As Long) As Long
     
    Private Const WM_COMMAND As Long = &H111
    Private Const MIN_ALL As Long = 419
    Private Const MIN_ALL_UNDO As Long = 416
     
    Public Sub MinimizeAll()
        Dim lngHwnd As Long
        lngHwnd = FindWindow("Shell_TrayWnd", vbNullString)
        Call PostMessage(lngHwnd, WM_COMMAND, MIN_ALL, 0&)
    End Sub
     
    Public Sub RestoreAll()
        Dim lngHwnd As Long
        lngHwnd = FindWindow("Shell_TrayWnd", vbNullString)
        Call PostMessage(lngHwnd, WM_COMMAND, MIN_ALL_UNDO, 0&)
    End Sub

方法四

    '先在 專案->設定引用項目 選擇Microsoft Shell Control And Automation

    Public Sub MinimizeAll()
      Dim oShell As New Shell
      oShell.MinimizeAll
    End Sub
     
    Public Sub RestoreAll()
      Dim oShell As New Shell
      oShell.UndoMinimizeALL
    End Sub

     

相關資訊

文件出處

VB心得筆記歡迎各位的指教,如果您有任何文章或資料願意提供給我們的,請來信到VBNote

如果對本站有任何建議,歡迎來信給Honey,我們會盡快給您答覆