Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Создать простую форму для вызова из CSCRIPT / 8 сообщений из 8, страница 1 из 1
17.02.2014, 12:48
    #38562835
Царь в голове
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создать простую форму для вызова из CSCRIPT
Вопрос новичка. Дайте, пожалуйста, пример создания простой формы для вызова из CSCRIPT в консоли. Пусть в ней будет, например, текстовое поле и кнопка "OK". Дальше я, думаю, смогу сам разобраться.

Зачем это нужно. Изначально ставилась задача в bat-скрипте запросить у пользователя пароль так, чтобы он не выводился на экран. Штатного средства не нашел. Вариант с CreateObject("ScriptPW.Password") в win7 не работает (копирование библиотеки из winXP не рассматривается как приемлемое решение). Сторонние программы типа editv использовать нельзя. InputBox("title", "prompt", "default") не имеет опции задания символа маскирования ввода. Пароль надо записать в переменную окружения. Вариант на Java не подходит, поскольку из-за особенностей bat-программирования не удается предоставить JRE консоль. Подозреваю, что у текстового есть что-то типа PasswordSymbol.

Спасибо.
...
Рейтинг: 0 / 0
17.02.2014, 13:15
    #38562882
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создать простую форму для вызова из CSCRIPT
Царь в головетекстовое поле и кнопка "OK"InputBox()
...
Рейтинг: 0 / 0
17.02.2014, 13:17
    #38562883
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создать простую форму для вызова из CSCRIPT
Царь в головеInputBox("title", "prompt", "default") не имеет опции задания символа маскирования ввода.А нафиг он нужен, если он хранится в открытом виде?
...
Рейтинг: 0 / 0
17.02.2014, 13:32
    #38562925
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создать простую форму для вызова из CSCRIPT
Впрочем, если и правда надо...
Код: 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.
40.
41.
42.
43.
44.
Dim bPasswordBoxWait ' A required global variable 
wsh.echo "You entered:", PasswordBox("Enter your password") 

Function PasswordBox(sTitle) 
  set oIE = CreateObject("InternetExplorer.Application") 
  With oIE 
    .FullScreen = False 
    .ToolBar   = False : .RegisterAsDropTarget = False 
    .StatusBar = False : .Navigate("about:blank") 
    While .Busy : WScript.Sleep 100 : Wend 
    With .document 
      With .ParentWindow 
        .resizeto 400,100 
        .moveto .screen.width/2-200, .screen.height/2-50 
      End With 
      .WriteLn("<html><body bgColor=Silver><center>") 
      .WriteLn("<b>" & sTitle & "</b><br>") 
      .WriteLn("Password <input type=password id=pass><button id=but0>Submit</button>") 
      .WriteLn("</center></body></html>") 
      With .ParentWindow.document.body 
        .scroll="no" 
        .style.borderStyle = "outset" 
        .style.borderWidth = "3px" 
      End With 
      .all.but0.onclick = getref("PasswordBox_Submit") 
      .all.pass.focus 
      oIE.Visible = True 
      bPasswordBoxOkay = False : bPasswordBoxWait = True 
      On Error Resume Next 
      While bPasswordBoxWait 
        WScript.Sleep 100 
        if oIE.Visible Then bPasswordBoxWait = bPasswordBoxWait 
        if Err Then bPasswordBoxWait = False 
      Wend 
      PasswordBox = .all.pass.value 
    End With ' document 
    .Visible = False 
  End With   ' IE 
End Function 


Sub PasswordBox_Submit() 
  bPasswordBoxWait = False 
End Sub


Откуда брал - не помню.
...
Рейтинг: 0 / 0
17.02.2014, 13:35
    #38562930
Царь в голове
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создать простую форму для вызова из CSCRIPT
AkinaА нафиг он нужен, если он хранится в открытом виде?
Не в открытом. setlocal стирает установленный пароль после выхода из bat-скрипта.
...
Рейтинг: 0 / 0
17.02.2014, 13:48
    #38562964
Царь в голове
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создать простую форму для вызова из CSCRIPT
Akina, спасибо

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

Еще хотелось бы для разнообразия обычную Windows-форму (чтобы без IE).
...
Рейтинг: 0 / 0
17.02.2014, 13:52
    #38562972
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создать простую форму для вызова из CSCRIPT
В системе нет никаких объектов, умеющих конструировать формы.
...
Рейтинг: 0 / 0
17.02.2014, 17:20
    #38563417
Царь в голове
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создать простую форму для вызова из CSCRIPT
Код: javascript
1.
oIE.document.parentWindow.focus() 


выводит окно запроса на передний план.

WScript.Sleep 100 -- не радует, конечно, но, в принципе, ну и бог с ним http://www.sql.ru/forum/images/biggrin.gif
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Создать простую форму для вызова из CSCRIPT / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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