Всем спасибо за участие!
Пример - тихо вдавливает меню "Выделить всё"
в гипертерминале. Оформлено функцией.
8((*
2 Модераторы:
Проблема с закачкой: Невозможно закачать приложение в ./files/clickmp.rar.
??? Was fur ein?
В модуль:
'===============================
' Menusel sample from BlackBeltVB.com
'
http://blackbeltvb.com
'
' Written by Matt Hart
' Copyright 1999 by Matt Hart
Option Explicit
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public 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
Public Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long
Public Declare Function GetMenuItemInfo Lib "user32" Alias "GetMenuItemInfoA" (ByVal hMenu As Long, ByVal un As Long, ByVal b As Boolean, lpMenuItemInfo As Any) As Long
Public Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long
Public Const WM_COPYDATA = &H4A
Public Const WM_COPY = &H301
Public Const WM_MENUSELECT = &H11F
Public Const WM_COMMAND = &H111
Public Const MIIM_TYPE = &H10
Public Const MIIM_ID = 2
Public Const MF_MOUSESELECT = &H8000&
Public Type MENUITEMINFO
cbSize As Long
fMask As Long
fType As Long
fState As Long
wID As Long
hSubMenu As Long
hbmpChecked As Long
hbmpUnchecked As Long
dwItemData As Long
dwTypeData As String
cch As Long
End Type
Public Sub SelectMenuAndLoad(l_WindowHandle As Long, l_MenuInRowNumber As Long, l_MenuColNumber As Long)
Dim hmirc As Long, hMenu As Long, hSubMenu As Long
Dim l As Long, M As MENUITEMINFO
If l_WindowHandle Then
hMenu = GetMenu(l_WindowHandle)
If hMenu Then 'Я идиот! Убейте меня, кто-нибудь!??? ???? ?? Я идиот! Убейте меня, кто-нибудь!??
hSubMenu = GetSubMenu(hMenu, l_MenuInRowNumber)
If hSubMenu Then
M.fMask = MIIM_TYPE Or MIIM_ID
M.dwTypeData = Space$(128)
M.cbSize = Len(M)
M.cch = 128 'Я идиот! Убейте меня, кто-нибудь!? Я идиот! Убейте меня, кто-нибудь!?? Я идиот! Убейте меня, кто-нибудь!?? (2 Я идиот! Убейте меня, кто-нибудь!??? ????.???)
l = GetMenuItemInfo(hSubMenu, l_MenuColNumber, True, M)
If l Then
'MsgBox M.wID & " " & Left$(M.dwTypeData, InStr(M.dwTypeData, Chr$(0)) - 1)
End If
l = SendMessage(l_WindowHandle, WM_COMMAND, M.wID, ByVal hSubMenu)
End If
End If
End If
End Sub
'=================================
'на форму
Option Explicit
Private Sub Command1_Click()
Dim wWnd As Long
wWnd = FindWindow("SESSION_WINDOW", vbNullString)
Call mod_Aux.SelectMenuAndLoad(wWnd, CLng(Text1), CLng(Text2))
End Sub
... Dpkjvfnm dc`xnj itdtkbnmcz, f tckb yt itdtkbnmcz hfcitdtkbnm b dpkjvfnm !!! ...