tavria2
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Zloy_Gelud Ты вообще смотрел иерархию окон после создания объекта "Shell.Explorer.2"? Иерархия ActiveX: AfxWnd70s (контейнер ActiveX) Shell Embedding Shell DocObject View Internet Explorer_Server <-- сюда нужно передавать фокус P.S. У меня в <textarea> не работает Copy, Paste и кнопка Delete. Текст, после программной установки фокуса, можно ввести руками, что подтверждает установку фокуса в <textarea>. Добавлено: Вот код на скорую руку: On Show Код: function FindWindowEx(hWnd1, hWnd2, lpsz1, lpsz2) if (lpsz1 ~= "") then lpsz1 = "\""..lpsz1.."\"" else lpsz1 = 0 end if (lpsz2 ~= "") then lpsz2 = "\""..lpsz2.."\"" else lpsz2 = 0 end return tonumber(DLL.CallFunction("user32.dll", "FindWindowExA", hWnd1..","..hWnd2..","..lpsz1..","..lpsz2.."", DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL)); end local hWnd = ActiveX.GetWindowHandle("Plugin6", HWND_CONTAINER); if (hWnd ~= 0) then hWnd = FindWindowEx(hWnd, 0, "Shell Embedding", "") if (hWnd ~= 0) then hWnd = FindWindowEx(hWnd, 0, "Shell DocObject View", "") if (hWnd ~= 0) then hWnd = FindWindowEx(hWnd, 0, "Internet Explorer_Server", "") DLL.CallFunction("user32.dll", "SetFocus", hWnd, DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL); end end end |
| Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 16:46 07-03-2012 | Исправлено: tavria2, 18:13 07-03-2012 |
|