Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   получить ссылку на текущий WebBrowser (https://javascript.ru/forum/dom-window/4401-poluchit-ssylku-na-tekushhijj-webbrowser.html)

UDN 19.07.2009 13:26

получить ссылку на текущий WebBrowser
 
Предисловие
По причине что сижу за ПК всегда в режиме Админа, то приходится запускать обозреватель в режиме Safer (ограничения), пересобрал знаменитую утилиту DropMyRights.exe
которая понижает права программы, скомпилил на Fasm, (лучший вариант для микро програм, в результате получилось несколько строк подобных этой
invoke SaferCreateLevel,2,$20000,0,hAuthzLevel,0), но проблеммы стали появлятся дальше в результате понижения прав программы, у нее нет прав к системному диску и настройкам Администратора. Вот и приходилось каждый раз чтобы чтото изменить в настройках, запускать отдельный обозреватель с правами админа.

С этого момента и появилась идея написать дополнение или компонет, у которого будет полный доспуп как к самому Web-обозревателю его настройкам, так и HTML-объектам.
Тоесть добавить компонент работающй по методу ShowBrowserBar, подобный ниже следующим компонентам:
Search {30D02401-6A81-11D0-8274-00C04FD5AE38}
Favorites {EFA24E61-B078-11D0-89E4-00C04FC9E26E}
History {EFA24E62-B078-11D0-89E4-00C04FC9E26E}
Folders {EFA24E64-B078-11d0-89E4-00C04FC9E26E}

Кнопка на ToolBar для активизации и отккл. компонента
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Extensions\{?-?-?-?-?}]
"CLSID"="{1FBA04EE-3024-11d2-8F1F-0000F87ABD16}"
"ClsidExtension"="{BDEADE3F-C265-11d0-BCED-00A0C90AB50F}"
"HotIcon"="E:\\Script\\plugin\\1.ico"
"Icon"="E:\\Script\\plugin\\1.ico"
"Default Visible"="Yes

Windows Script Component, позволяет писать ActiveX, на прикладных скриптовых языках.
Врезультате чего появляется возможность добавить к обозревателю локальную страничку и уже в ней подключить свой ActiveX, предварительно установив флаг в реестре, что компонент безопасен и может использоваться на Web-страница, получилось оригинально:
1) Обозреватель с ограниченными правами
2) Плагин с правами админа (доступ как к реестру, к системному диску) реализованный в обыкновенной HTML страничке, а значит уже можно и подправвить уже в обыкновенном блокноте

Теперь я имею ActiveXObject() у которого уже не плохие возможности.
Возникают проблемы:
CreateObject("Shell.Application").Windows возвращает массив всех WebBrowser Object и InternetExplorer Object
Вот и получается. что я могу иметь доступ к любому объекту, но прямую ссылку к текущему-активному не могу.
через WinApi это делается просто, но как получить хотябы хендел HWND активного окна, выручайте ребят.

UDN 20.07.2009 18:21

Тема закрыта
расквырал исходники, оказалось есть не документированный объект
у WebBrowser и InternetExplorer называется "_main"
покрайней мере,window.open("http://","_main"), работает.
посылать окну можно а через
<a href="http://mail.ru" target="_main">aaaa</a>
а вот насчет остального нужно тестить.


Часовой пояс GMT +3, время: 21:05.