Форум программистов, компьютерный форум, киберфорум
VBScript/JScript/WSH/WMI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/35: Рейтинг темы: голосов - 35, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 21.11.2015
Сообщений: 4
VBS

Как сделать окно активным и вывести его на передний план

21.11.2015, 14:57. Показов 7939. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В скрпте создается окно Internet explorer (методом CreateObject("InternetExplorer.Applicati on")). Далее неоходимо сделать это окно активным и вывести на передний план.Функция AppActivate не отрабатывает как надо (в Windows 8 и скорее всего в Windows 7). Каким способом можно сделать окно Explorera активным. Приложил пример (текст с другого скипта, но увидеть проблему можно).

Visual Basic
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
Option Explicit
 
Const READYSTATE_COMPLETE = 4
 
Dim objIE
Dim objWindow
 
Dim boolDone, res
Dim strPassword
 
 
 
 
Dim fso, f1, ts,wshell,wshell2
Const ForWriting = 2
 
Set objIE = CreateObject("InternetExplorer.Application")
set wshell= createObject("WScript.Shell")
set wshell2= createObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateTextFile ("C:\Windows\Temp\test1.vbs")
Set f1 = fso.GetFile("C:\Windows\Temp\test1.vbs")
Set ts = f1.OpenAsTextStream(ForWriting, True)
ts.Write ("wscript.sleep 1000") 
ts.Close
With objIE
    .Navigate "about:blank"
    Do
        wshell.run "C:\Windows\Temp\test1.vbs",1,true
    Loop Until Not .Busy And .ReadyState = READYSTATE_COMPLETE
    
 
    
    .AddressBar = False
    .MenuBar    = False
    .StatusBar  = False
    .ToolBar    = False
    
    With .Document
        .write "<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.0 Strict//EN"">" & vbCrLf & _
                "<html>" & vbCrLf & _
                "   <head>" & vbCrLf & _
                "       <meta http-equiv='Content-Type' content='text/html; charset=windows-1251'>" & vbCrLf & _
                "       <meta http-equiv='Content-Language' content='ru'>" & vbCrLf & _
                "       <title>Input password</title>" & vbCrLf & _
                "       <style>" & vbCrLf & _
                "           body {" & vbCrLf & _
                "               margin: 1em 1em 1em 1em;" & vbCrLf & _
                "               color: MidnightBlue;" & vbCrLf & _
                "               background-color: LightSteelBlue" & vbCrLf & _
                "           }" & vbCrLf & _
                "       </style>" & vbCrLf & _
                "   </head>" & vbCrLf & _
                "   <body>" & vbCrLf & _
                "       <label for='sPassword' accesskey='P'>Enter <u>p</u>assword:</label>" & vbCrLf & _
                "       <input type='password' name='sPassword' id='sPassword' size='50'>" & vbCrLf & _
                "       <input type='button' value='OK' name='OK'>" & vbCrLf & _
                "       <input type='button' value='╬Єьхэр' name='Cancel'>" & vbCrLf & _
                "       <input type='radio' value='radio' name='Radio'>" & vbCrLf & _
                "   </body>" & vbCrLf & _
                "</html>"
        
        .getElementsByName("OK").item(0).onclick     = GetRef("IEButtonClick")
        .getElementsByName("Cancel").item(0).onclick = GetRef("IEButtonClick")
        
        With .getElementByID("sPassword")
            .onKeyPress                             = GetRef("IEOnKeyPress")
            .focus
        End With
        
        Set objWindow = .parentWindow
        
        With .Body
            objWindow.resizeTo .scrollWidth + 25, .scrollHeight + 32
            objWindow.moveTo (objWindow.screen.availWidth - .offsetWidth) \ 2, (objWindow.screen.availHeight - .offsetHeight) \ 2
        End With
        
        Set objWindow = Nothing
        
        .getElementByID("sPassword").focus
    End With
    
    .Visible = True
    
    boolDone = False
    strPassword = Empty
    wshell2.AppActivate("Input password")
        wshell.run "C:\Windows\Temp\test1.vbs",1,true
        wshell.run "C:\Windows\Temp\test1.vbs",1,true
    Do
        wshell.run "C:\Windows\Temp\test1.vbs",1,true
    Loop Until boolDone
    
    On Error Resume Next
    .Quit
    On Error Goto 0
End With
 
Set objIE = Nothing
 
If Not IsEmpty(strPassword) Then
    msgbox"Password is [" & strPassword & "]"
Else
    msgbox "Password is not entered"
End If
 
 
'=============================================================================
 
'=============================================================================
Sub IE_OnQuit
    boolDone = True
End Sub
'=============================================================================
 
'=============================================================================
Sub IEButtonClick
    Select Case Me.Name
        Case "OK"
            strPassword = objIE.Document.getElementByID("sPassword").Value
            boolDone = True
        Case "Cancel"
            boolDone = True
        Case Else
            ' Nothing to do
    End Select
End Sub
'=============================================================================
 
'=============================================================================
Sub IEOnKeyPress
    Select Case Me.ownerDocument.parentWindow.event.keyCode
        Case 13
            strPassword = Me.Value
            boolDone = True
        Case 27
            boolDone = True
        Case Else
            ' Nothing to do
    End Select
End Sub
'=============================================================================
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.11.2015, 14:57
Ответы с готовыми решениями:

Как вывести главное окно приложения на передний план
Всем здравствуйте. На форму помещён таймер. Если приложение свёрнуто на панель задач, то по истечению интервала таймера происходит...

Вывести окно на передний план
2. У меня сначала, запускается программа (Client.exe) потом идет команда msg. Но из за того, что Client.exe запускается естественно...

Вывести окно на передний план
findwindow('Приложение с едит1',nil); что-то типо в общем нужно чтобы вывело окно с едита 1, тоесть чтобы просто приложение вылезло...

3
Покинул форум
3700 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
21.11.2015, 15:07
VitaFive, заглядывали на MSDN?
0
0 / 0 / 0
Регистрация: 21.11.2015
Сообщений: 4
21.11.2015, 15:14  [ТС]
Да. Не нашел ничего подходящего. Может чего не заметил :-(
0
0 / 0 / 0
Регистрация: 21.11.2015
Сообщений: 4
23.11.2015, 14:36  [ТС]
Сработал вариант
Visual Basic
1
2
3
4
5
6
Set locator = CreateObject("WbemScripting.SWbemLocator")
Set service = locator.ConnectServer()
Set props = service.ExecQuery("select * from Win32_Process where name = 'iexplore.exe'")
For Each objProcess in props
    wshell.AppActivate objProcess.ProcessId
Next
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.11.2015, 14:36
Помогаю со студенческими работами здесь

Как перенести на передний план окно с приложением?
Добрый день! В WinXP одна программа запускает другую, и окно последней, с GUI, появляется не всегда. Если запустить после этого Process...

Как выдвинуть окно экселя на передний план?
?

Как сделать окно активным если известно его Hwnd?
Как сделать окно активным если известно его Hwnd?

Нужно закрыть модальное окно и сделать активным вызвавшее его окно
Мне нада средствами Win API закрыть модальное окно и сделать активным вызвавшее его окно. Кто знает как это сделать?

Как вывести картинку на передний план
Здравствуйте, помогите пожалуйста разобраться, как вывести картинку из класса &quot;hdtv&quot; на передний план поверх картинки постера: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru