получить ссылку на текущий 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 активного окна, выручайте ребят. |
Тема закрыта
расквырал исходники, оказалось есть не документированный объект у WebBrowser и InternetExplorer называется "_main" покрайней мере,window.open("http://","_main"), работает. посылать окну можно а через <a href="http://mail.ru" target="_main">aaaa</a> а вот насчет остального нужно тестить. |
Часовой пояс GMT +3, время: 21:05. |