Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Creat0R
Цитата:
Попробовал, всегда возвращает 0
HWND возвращается корректно, хотя стандартные сообщения действительно не воспринимает... причем все тулзы класса WinInfo вообще не распознают текст окна... на всякий случай может кому пригодится - функция для возврата HWND окна/контрола текущего ввода:
Код: Выделить весь код
Func _ControlGetFocus()
    Local $res, $u = DllStructCreate("int;int;hwnd;hwnd;hwnd;hwnd;hwnd;hwnd;long;long;long;long")
    DllStructSetData ($u, 1, DllStructGetSize($u))

    $res = DllCall('user32.dll', 'hwnd', 'GetForegroundWindow')
    $res = DllCall('user32.dll', 'int', 'GetWindowThreadProcessId', 'hwnd', $res[0], 'ptr', 0)
    DllCall('user32.dll', 'int', 'GetGUIThreadInfo', 'int', $res[0], 'ptr', DllStructGetPtr($u))
    Return DllStructGetData($u, 4)
EndFunc
Цитата:
Ctrl Shift Home
нет, при этом потеряется текущая позиция курсора... для полного обсчета требуется: полный текст, выделенный текст, текущая позиция курсора - положение выделенного фрагмента по отношению ко всему тексту... т.е. одними клавишами тут ИМХО не обойтись - нужны альтернативные способы получения инфы... но тогда потеряется универсальность (твой пример с OperaWindowClass).
Это сообщение посчитали полезным следующие участники:

Отправлено: 03:51, 05-10-2007 | #546