powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Объект InternetExplorer.Application в vbs и js
25 сообщений из 37, страница 1 из 2
Объект InternetExplorer.Application в vbs и js
    #38133676
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть два скрипта один на vbs другой на js. Делают одно и тоже - открывают вэб-приложение без разных дополнительных элементов браузера(строки ввода, меню, статусбара и тд).
Вот они:
JS
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
ie = new ActiveXObject("InternetExplorer.Application");

var itm = GetObject("winmgmts:{impersonationLevel=impersonate}!\\\\.\\root\\cimv2").ExecQuery("Select * from Win32_DesktopMonitor");

for (var enm = new Enumerator(itm); !enm.atEnd(); enm.moveNext()) {
  var res = enm.item();
};

// Задаём опции окна IE
ie.left       = res.ScreenWidth/2 - 300;
ie.top        = res.ScreenHeight/2 - 275;
ie.height     = 550;
ie.width      = 600;
ie.menubar    = false;
ie.toolbar    = false;
ie.statusbar  = false;

// Задаем пустую страницу
ie.navigate(url);

// Показывем IE
ie.visible=true;


VBS
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
Set objIE =  WScript.CreateObject("InternetExplorer.Application", "IE_")

'var itm = GetObject("winmgmts:{impersonationLevel=impersonate}!\\\\.\\root\\cimv2").ExecQuery("Select * from Win32_DesktopMonitor");

'for (var enm = new Enumerator(itm); !enm.atEnd(); enm.moveNext()) {
'  var res = enm.item();
'};

' Задаём опции окна IE
'objIE.left       = res.ScreenWidth/2 - 300;
'objIE.top        = res.ScreenHeight/2 - 275;
objIE.Left       = 200
objIE.Top        = 200
objIE.Height     = 550
objIE.Width      = 600

objIE.AddressBar = False
objIE.MenuBar = False
objIE.ToolBar = False
objIE.StatusBar  = False
objIE.RegisterAsBrowser = True

objIE.Navigate url

While objIE.Busy
    Wscript.Sleep 200
Wend

objIE.Visible = 1

While 0=0
    WScript.Sleep 1000
Wend

Sub IE_OnQuit()
    ny = MsgBox("OnQuit event!", 32+4)
	'6 - Да 7 - Нет
	if ny = 6 Then WScript.Quit
End Sub



Мне необходимо как то их объеденить в один, то есть в варианте js я определяю разрешение экрана и вывожу окно по центру его, в vbs не догнал как переделать.

Еще проблемы в обоих вариантах:
- почему то окно открывается свернутое и начинает мигать в таскбаре - как его вывести на передний план?
- нужно обработать событие закрытие окна скрипта, что бы выдавать предупреждение от которого можно отказаться - в варианте vbs я попытался это сделать, но при любом исходе конфирм окна оно закрывается.

Хотелось бы на выходе видеть скрипт, который соответствует требованиям выше.

Есть ли мысли по этому поводу?

Спасибо
...
Рейтинг: 0 / 0
Объект InternetExplorer.Application в vbs и js
    #38133707
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в vbs не догнал как переделать
Код: vbnet
1.
2.
3.
4.
Dim res
For Each res In itm
    Exit For
Next

Остальное как в js

- почему то окно открывается свернутое и начинает мигать в таскбареПотому что в таком виде оно было закрыто в последний раз.
как его вывести на передний план?поковыряйся в ExecWB, может какая-то команда поможет
- нужно обработать событие закрытие окна скрипта Что это? У скрипта нет окон.
...
Рейтинг: 0 / 0
Объект InternetExplorer.Application в vbs и js
    #38133898
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyЧто это? У скрипта нет окон.

Может быть не правильно выразился, но нужно обработать событие закрытие данного окна и закрыть его или нет по запросу.

Antonariyпоковыряйся в ExecWB

а как оно связано: яже создаю объект IE и показываю его, а ExecWB здесь как может поучавствовать?

Так же сбивается масштаб браузера, необходимо открыть приложение с масштабом 100%.
...
Рейтинг: 0 / 0
Объект InternetExplorer.Application в vbs и js
    #38133921
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kasik закрытие данного окнаКакого данного? IE?
kasik а как оно связано:Это метод IE, который выполнят разные действия в зависимости от параметров. Например, отправляет страницу на печать.

kasik Так же сбивается масштаб браузера, необходимо открыть приложение с масштабом 100%.Что такое масштаб? Если это зум, то ExecWB + OLECMDID_ZOOM.
...
Рейтинг: 0 / 0
Объект InternetExplorer.Application в vbs и js
    #38133937
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как обратиться к res:
Код: vbnet
1.
objIE.Left       = res.ScreenWidth/2 - 300;



ругается...


Судя по этому как мне может перевести окно на первый план?
...
Рейтинг: 0 / 0
Объект InternetExplorer.Application в vbs и js
    #38133944
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariykasik закрытие данного окнаКакого данного? IE?Ну да, не догнал.

Закрытие крестиком отменить нельзя, можно только отменить закрытие, сделанное с помощью window.close
...
Рейтинг: 0 / 0
Объект InternetExplorer.Application в vbs и js
    #38133953
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kasikкак обратиться к res:
Код: vbnet
1.
objIE.Left       = res.ScreenWidth/2 - 300;



ругается...Ругается на точку с запятой, которую ты скопипастил из js.
kasik Судя по этому Какая тухлая документация. Зайди наконец на сайт производителя.
...
Рейтинг: 0 / 0
Объект InternetExplorer.Application в vbs и js
    #38133958
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
Set itm = GetObject("winmgmts:{impersonationLevel=impersonate}!\\\\.\\root\\cimv2").ExecQuery("Select * from Win32_DesktopMonitor")



на это тоже ругается (
...
Рейтинг: 0 / 0
Объект InternetExplorer.Application в vbs и js
    #38133964
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kasik
Код: vbnet
1.
Set itm = GetObject("winmgmts:{impersonationLevel=impersonate}!\\\\.\\root\\cimv2").ExecQuery("Select * from Win32_DesktopMonitor")



на это тоже ругается (А тут ты скопипастил экранирование слешей.
...
Рейтинг: 0 / 0
Объект InternetExplorer.Application в vbs и js
    #38133983
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а можно ли использовать js в vbs и наоборот?
...
Рейтинг: 0 / 0
Объект InternetExplorer.Application в vbs и js
    #38133992
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
слеши убрал, заработало, но почему то окно открывается с задержкой в 15 секунд, в js такого не было.
...
Рейтинг: 0 / 0
Объект InternetExplorer.Application в vbs и js
    #38134000
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kasikа можно ли использовать js в vbs и наоборот?В смысле?
kasikслеши убрал, заработало, но почему то окно открывается с задержкой в 15 секунд, в js такого не было.Может из-за цикла со sleep?
...
Рейтинг: 0 / 0
Объект InternetExplorer.Application в vbs и js
    #38134014
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну можно в принципе сделать CreateObject("MSScriptControl.ScriptControl") и напихать в него код на нужном языке, но зачем?
...
Рейтинг: 0 / 0
Объект InternetExplorer.Application в vbs и js
    #38134021
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну я так информационно...

Пытаюсь выполнить:
Код: vbnet
1.
2.
3.
Dim Z As Variant     'Z is the value to hold the zoom level.
Z = 0
objIE.ExecWB OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, Null, Z



Скопипастил с сайта мелкомягких, но дает ошибку:
"Предполагается наличие окончания инструкции"
...
Рейтинг: 0 / 0
Объект InternetExplorer.Application в vbs и js
    #38134031
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vbs не знает что такое null, что такое As, и в отличие от vba требует скобки при вызове функций.
...
Рейтинг: 0 / 0
Объект InternetExplorer.Application в vbs и js
    #38134054
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наоборот ругается на скобки при их использовании.

И как мне изменить это что бы заработало?

Нашел еще
OLECMDID_WINDOWSTATE_FLAG

возможно как то поможет для восстановление окна
...
Рейтинг: 0 / 0
Объект InternetExplorer.Application в vbs и js
    #38134061
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчет скобок я приврал, и так и так работает.
...
Рейтинг: 0 / 0
Объект InternetExplorer.Application в vbs и js
    #38134073
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще все константы OLECMD... нужно заменить их значениями.

Запускаешь ворд/эксель, alt+f11, tools - references, галку на Microsoft Internet Controls, F2. Там все перечислено.
...
Рейтинг: 0 / 0
Объект InternetExplorer.Application в vbs и js
    #38134077
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вроде начало отрабатывать:
Код: vbnet
1.
objIE.ExecWB OLECMDID_OPTICAL_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, 100, 0



ошибка - "Попытка отменить конечное место переноса, которе не было зарегистрировано"
...
Рейтинг: 0 / 0
Объект InternetExplorer.Application в vbs и js
    #38134088
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так не ругается, но и изменений нет

Код: vbnet
1.
objIE.ExecWB 19, 2, 0, 0
...
Рейтинг: 0 / 0
Объект InternetExplorer.Application в vbs и js
    #38134175
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решил вопрос по поводу зума проще, через реестр:
Код: vbnet
1.
2.
3.
Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
WshShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Zoom\ZoomFactor", "100000", "REG_SZ"



По поводу управлением окна, сейчас покапаю относительно хэндлера окна, который можно получить через свойцство HWND объекта браузера.
...
Рейтинг: 0 / 0
Объект InternetExplorer.Application в vbs и js
    #38134291
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашел следующую фишку:
Код: vbnet
1.
2.
Set win = CreateObject("window.manager")
win.ActivateWindow objIE.HWND



но ругается - "Невозможно создание объекта контейнером ActiveX"

Может название объекто другое или подключение к нему происходит по другому, но в мануале вот данная строчка есть и не работает. Уже запарился немного(
...
Рейтинг: 0 / 0
Объект InternetExplorer.Application в vbs и js
    #38134439
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это какой-то левый объект, которого нет в комплекте винды. Без левых объектов с hwnd в скриптах делать нечего.
...
Рейтинг: 0 / 0
Объект InternetExplorer.Application в vbs и js
    #38134531
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Суть то в том что необходимо подключиться к объекту управления окнами и потом уже восстановить данное окно. Но где мне взять называние правильное этого объекта? Где можно посмотреть вообще эти объекты? Много чего уже перелопатил но данный перечень не нашел. Только обрывочные сведения...
...
Рейтинг: 0 / 0
Объект InternetExplorer.Application в vbs и js
    #38134548
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kasikГде можно посмотреть вообще эти объекты?Нигде. Их нет.
...
Рейтинг: 0 / 0
25 сообщений из 37, страница 1 из 2
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Объект InternetExplorer.Application в vbs и js
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]