Call ShowWindow(FindWindow("Shell_TrayWnd", vbNullString), 0)
Call ShowWindow(FindWindow("Shell_TrayWnd", vbNullString), 1)
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function EnableWindow Lib "user32" (ByVal hwnd As Long, ByVal fEnable As Long) As Long
Public Sub EnableStartButton(Optional Enabled As Boolean = True)
Dim lHwnd As Long
lHwnd& = FindWindowEx(FindWindow("Shell_TrayWnd", ""), 0&, "Button", vbNullString)
Call EnableWindow(lHwnd&, CLng(Enabled))
End Sub
Private Sub Command1_Click()
EnableStartButton False
End Sub
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, lParam As Any) As Long
Private Sub Form_Load()
PostMessage FindWindow("BaseBar", ""), &H10, 0, 0
End Sub
If (getasynckeystate(vk_lmenu)<>0) or (getasynckeystate(vk_rmenu)<>0) then msgbox "Кнопка windows нажата"
Неа, мимоxolod писал(а):
- Код: Выделить всё
If (getasynckeystate(vk_lmenu)<>0) or (getasynckeystate(vk_rmenu)<>0) then msgbox "Кнопка windows нажата"
Const VK_LWIN = &H5B
Const VK_RWIN = &H5C
ParentHandle = FindWindow("Shell_TrayWnd", vbNullString)
ButtonHandle = FindWindowEx(ParentHandle, ByVal 0&, "BUTTON", vbNullString)
В общем, действовал я так: при клике мышкой на Пуске определял его hwnd функцией WindowFromPoint, делал ему
SetParent(hwnd,GetDesktopWindow), а потом - SetWindowPos.....
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20