Что нового

Передача значения к командную строку

  • Автор темы FallenWerewolf
  • Дата начала
F

FallenWerewolf

Гость
Версия AutoIt: 3.3.12.0

Описание: Здравствуйте! Нужно запустить командную строку и передать несколько команд, среди которых есть пароль, который должен ввести пользователь в текстовое поле. То есть имеем код (как пример):
Код:
Run(@ComSpec & " /k netsh wlan set hostednetwork key="Пароль_введенный_пользователем" keyUsage=persistent")
Как в куске key="Пароль_введенный_пользователем" сделать, чтобы я вводил пароль в поле ввода, а уже значение из него вводилось в список команд и готовые команды писались в командную строку?

Примечания: нет
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
Код:
$Pass = InputBox('Вход','Введите пароль',Default,'*')
If $Pass <> '' Then Run(@ComSpec & " /k netsh wlan set hostednetwork key=" & $Pass & " keyUsage=persistent")
 
Автор
F

FallenWerewolf

Гость
Благодарю :smile: А есть ли возможность сделать это с GUICtrlCreateInput вместо InputBox ? Просто, если создать основное окно Gui, то окно ввода пароля вылазиет первым, а изменение пароля не всегда нужно в первую очередь.


Добавлено:
Сообщение автоматически объединено:

Не получается изменить прошлое сообщение. Попробовал сделать тоже самое с GUICtrlCreateInput, не работает. Код такой:
Код:
#include <GUIConstants.au3>

GUICreate("Test Window", 200, 300)
$okbutton = GUICtrlCreateButton("Change Pass", 15, 10, 170, 27)
$input = GUICtrlCreateInput("Пароль", 15, 105)
$Pass = GUICtrlRead($Input)
GUISetState(@SW_SHOW)

While 1
  $msg = GUIGetMsg()

  Select
	  Case $msg = $okbutton
		  Run(@ComSpec & " /k netsh wlan set hostednetwork key=" & $Pass & " keyUsage=persistent")

	  Case $msg = $GUI_EVENT_CLOSE
	  ExitLoop
  EndSelect
WEnd

При вводе любого пароля $Pass берез значение "Пароль" из $input. Однако, если строку
Код:
$Pass = GUICtrlRead($Input)
переместить в Case (Select), то работает :scratch: Почему так?
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
FallenWerewolf [?]
Попробуйте так.
Код:
#include <GUIConstants.au3>

GUICreate("Test Window", 200, 300)
$okbutton = GUICtrlCreateButton("Change Pass", 15, 10, 170, 27)
$input = GUICtrlCreateInput("Пароль", 15, 105)
GUISetState(@SW_SHOW)

While 1
  $msg = GUIGetMsg()

  Select
      Case $msg = $okbutton
          $Pass = GUICtrlRead($Input)
          Run(@ComSpec & " /k netsh wlan set hostednetwork key=" & $Pass & " keyUsage=persistent")

      Case $msg = $GUI_EVENT_CLOSE
      ExitLoop
  EndSelect
WEnd
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
Код:
#include <GUIConstants.au3>

$Form1 = GUICreate("Form1", 333, 98, 192, 124)
$Input1 = GUICtrlCreateInput("", 24, 32, 153, 21, $ES_PASSWORD)
$Button1 = GUICtrlCreateButton("Button1", 208, 32, 75, 25)
GUISetState(@SW_SHOW)

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Button1
			$Pass = GUICtrlRead($Input1)
			Run(@ComSpec & " /k netsh wlan set hostednetwork key=" & $Pass & " keyUsage=persistent")
	EndSwitch
WEnd
по поводу Switch или Select читай http://autoit-script.ru/index.php?topic=14445.0
 
Автор
F

FallenWerewolf

Гость
Спасибо вам всем большое за помощь! :smile: С Наступающим!
 
Верх