получить ссылку на текущий 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 в 02:57.
Причина: Поправка
|