假如在程序中需要调用WINDOWS的关闭Windows对话框应该使用什么样的方法,用API来完成行吗?具体该调用哪个函数呢?

解决方案 »

  1.   

    Private Declare Function SHShutDownDialog Lib "shell32" Alias "#60" (ByVal dwReserved As Long) As LongPrivate Sub cmdShutDownDialog_Click()
        SHShutDownDialog 0
    End Sub
      

  2.   

    '================================================================================================================
    '调用Windows关机画面的例子
    'Shell_TrayWnd
    '================================================================================================================
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
    '根据窗口的类名或标题查找一个窗口,如果找到返回这个窗口的句柄
    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongConst WM_CLOSE = &H10  '用来关闭一个窗口Dim WinHandle As Long  '记录一个窗口句柄
    Private Sub cmdCancel_Click()
        SendMessage WinHandle, WM_CLOSE, 0, 0
    End SubPrivate Sub Form_Load()
       WinHandle = FindWindow("Progman", vbNullString)
       '在findwindow函数中的第一个参数使用Shell_TrayWnd效果一样,也能调出关机画面
    End Sub