Символ под курсором в чужом окне - VB

Узнай цену своей работы

Формулировка задачи:

день добрый, спецам. сразу прошу прощения за возможно ламерский вопрос. а вопрос вот в чём - надо прописать в своём textbox'се символ из другого окна(имменно не из своего). всё что мне удалось 'накопать' - это то, что надо использовать api-функцию WindowFromPoint и вероятно прописать WM_GETTEXT. ясно также, что надо сначало определить координаты курсора(это просто), а вот что прописать далее - тут уже у меня тупик пятый день. если у кого есть мысли, большая посьба помогите. вероятно надо сначало определить hwnd - окна и послать SendMessage, а вот как конкретно это сделать - тут у меня тупик.

Решение задачи: «Символ под курсором в чужом окне»

textual
Листинг программы
Type POINT
 X As Long
 Y As Long
End Type
 
Function GetChar() As String
 Dim pt as POINT, hWin as Long, ppt As Long, pos As Long
 GetCursorPos(pt)
 hWin = WindowFromPoint(pt)
 ScreenToClient(hWin, pt)
 ' For standatd edit control
 ppt = (pt.X And &HFFFF) Or (pt.Y And &HFFFF) * &H10000
 pos = (SendMessage(hWin, EM_CHARFROMPOS, 0&, ByVal ppt) And &HFFFF)
 ' For rich edit control:
 ' pos = SendMessage(hWin, EM_CHARFROMPOS, 0&, pt)
 SendMessage(hWin, WM_GETTEXT, pos + 1, buff)
 GetChar = Mid(buff, pos + 1, 1)
End Function

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.8 из 5
Похожие ответы