利用getwindows屏蔽开始按钮

发表于:2007-07-14来源:作者:点击数: 标签:
Const SWP_HIDEWINDOW = H80 Const SWP_SHOWWINDOW = H40 Const GW_CHILD = 5 Const GW_HWNDNEXT = 2 Private Declare Function SetWindowPos Lib user32 (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx
Const SWP_HIDEWINDOW = &H80
Const SWP_SHOWWINDOW = &H40
Const GW_CHILD = 5
Const GW_HWNDNEXT = 2
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
Dim tWnd As Long, bWnd As Long, sSave As String * 250
Private Sub Form_Load()
'查找句柄
    tWnd = FindWindow("Shell_traywnd", vbNullString)
    '查找Child
    bWnd = GetWindow(tWnd, GW_CHILD)
    Do
        '得到Child的Class
        GetClassName bWnd, sSave, 250
        '如果Class是按钮button
        If LCase(Left$(sSave, 6)) = "button" Then Exit Do
        '查询下一个
        bWnd = GetWindow(bWnd, GW_HWNDNEXT)
    Loop
'利用API,隐藏按钮    
    SetWindowPos bWnd, 0, 0, 0, 0, 0, SWP_HIDEWINDOW
End Sub
Private Sub Form_Unload(Cancel As Integer)
'恢复按钮    
    SetWindowPos bWnd, 0, 0, 0, 0, 0, SWP_SHOWWINDOW
End Sub

原文转自:http://www.ltesting.net