вот код который служит для определения заговловков окон тех что под мышкой(работает)...Но в статье было указано что идет определение не заголовков а именно слов по мышей, то есть как я понимаю у любого приложения можно снять слово которое под мышкой....ТАм не задействованы 2 апи и 3 конст....Как если их задействовать то может выйдет определять слово под мышкой и у сторонних приложений..? | Код | Public Const SRCCOPY = &HCC0020 Private Const WM_GETTEXT = &HD Private Const WM_GETTEXTLENGTH = &HE
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Integer) As Integer Private Declare Function WindowFromPoint Lib "user32" (ByVal xPoint As Integer, ByVal yPoint As Integer) As Integer Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" ( _ ByVal hwnd As Integer, _ ByVal lpClassName As StringBuilder, _ ByVal nMaxCount As Integer) As Integer Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" ( _ ByVal hwnd As Integer, _ ByVal wMsg As Integer, _ ByVal wParam As Integer, _ ByVal lParam As Object) As Integer Public Declare Ansi Function GetWindowText Lib "user32" Alias "GetWindowTextA" ( _ ByVal hwnd As Integer, _ ByVal lpString As StringBuilder, _ ByVal nMaxCount As Integer) As Integer
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick Dim lRet As Integer, hHandle As Integer hHandle = WindowFromPoint(Cursor.Position.X, Cursor.Position.Y) lblHandle.Text = hHandle.ToString()
Dim aClass As New StringBuilder(128) lRet = GetClassName(hHandle, aClass, 128) lblClassName.Text = Microsoft.VisualBasic.Left(aClass.ToString(), lRet)
Dim s As New StringBuilder(256) lRet = GetWindowText(hHandle, s, s.Capacity) lblWText.Text = s.ToString() End Sub
|
|