Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Скрипт для выполнения команд после подтверждения

Ответить
Настройки темы
Скрипт для выполнения команд после подтверждения

Аватара для Pozia

Ветеран


Сообщения: 2756
Благодарности: 211

Профиль | Отправить PM | Цитировать


Нужен скрипт который после запуска покажет окно с вопросом - Вы хотите установить ....? И две кнопки "Да" "Нет". При нажатии Да выполнялись такие команды:

IF EXIST "%systemroot%\system32\PS.ini" goto Ok
exit
:Ok
start /wait WSidebar.exe /VERYSILENT
RD /S /Q "%ProgramFiles%\Windows Sidebar\Gadgets"
xcopy settings.ini "%UserProfile%\Local Settings\Application Data\Microsoft\Windows Sidebar\" /S /H /Y
xcopy Gadgets "%ProgramFiles%\Windows Sidebar\Gadgets\" /S /H /Y
start /wait WLMAIL.exe
start /wait REGEDIT /S WLMAIL.reg
exit

Если нажать Нет то просто скрипт завершит свою работу. И желательно чтобы имелось возможность настройки появляющегося окна (размеры его, положение кнопок). Заранее спасибо.

Отправлено: 21:36, 31-03-2009

 

Аватара для morgan1991

Старожил


Сообщения: 398
Благодарности: 13

Профиль | Сайт | Отправить PM | Цитировать


Код: Выделить весь код
#include<guiconstants.au3>
$width = 300
$height = 100

$main = GUICreate("title", $width, $height)
GUISetBkColor(0xBEBEBE) ;цвет окна
GUICtrlCreateLabel("Установить?", 10, 20)
$button_yes = GUICtrlCreateButton("Да", 10, 50)
$button_no = GUICtrlCreateButton("Нет", 50, 50)

GuiSetState(@SW_SHOW, $main)

GUISetState()
While 1
	$msg = GUIGetMsg()
	If $msg = $button_no Or $msg = $GUI_EVENT_CLOSE Then Exit
	If $msg = $button_yes Then
		MsgBox(0, "", "запустился ваш код!")
		#cs
		IF EXIST "%systemroot%\system32\PS.ini" goto Ok
		exit
		:Ok
		start /wait WSidebar.exe /VERYSILENT
		RD /S /Q "%ProgramFiles%\Windows Sidebar\Gadgets"
		xcopy settings.ini "%UserProfile%\Local Settings\Application Data\Microsoft\Windows Sidebar\" /S /H /Y
		xcopy Gadgets "%ProgramFiles%\Windows Sidebar\Gadgets\" /S /H /Y
		start /wait WLMAIL.exe
		start /wait REGEDIT /S WLMAIL.reg
		exit
		#ce
	EndIf
WEnd
Как выполнить ваш код на автоите я не знаю

-------
Хочу научиться писать драйвера на с++

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:16, 31-03-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата morgan1991:
Как выполнить ваш код на автоите я не знаю »
Вот так примерно:

Код: Выделить весь код
If $msg = $button_yes Then
		MsgBox(0, "", "запустился ваш код!")
		
		If Not FileExists(@SystemDir & "\PS.ini") Then Exit
		
		RunWait("WSidebar.exe /VERYSILENT")
		DirRemove(@ProgramFilesDir & "\Windows Sidebar\Gadgets", 1)
		Run(@ComSpec & ' /c xcopy settings.ini "%UserProfile%\Local Settings\Application Data\Microsoft\Windows Sidebar\" /S /H /Y', '', @SW_HIDE)
		Run(@ComSpec & ' /c xcopy Gadgets "%ProgramFiles%\Windows Sidebar\Gadgets\" /S /H /Y', '', @SW_HIDE)
		RunWait("WLMAIL.exe")
		RunWait("REGEDIT /S WLMAIL.reg")
		Exit
	EndIf

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:23, 31-03-2009 | #3


Аватара для Pozia

Ветеран


Сообщения: 2756
Благодарности: 211

Профиль | Отправить PM | Цитировать


morgan1991, при нажатии Да не закрывается появившееся окно. Как исправить?

добавил Exit перед последним EndIf но некрасиво получается. Окно закрывается после выполнения всех команд. Мне бы хотелось чтобы после нажатия кнопки Да окно закрывалось и только потом выполнялись мои команды

-------
Жизни вглядись в глаза: Это то, что ты всегда искал? Это то, что ты всегда хотел? Да или нет?


Отправлено: 18:53, 01-04-2009 | #4


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата Pozia:
тобы после нажатия кнопки Да окно закрывалось и только потом выполнялись мои команды »
Так:

Код: Выделить весь код
#include <GUIConstants.au3>

$iWidth = 300
$iHeight = 100

$hGUI = GUICreate("Title", $iWidth, $iHeight)
GUISetBkColor(0xBEBEBE) ;цвет окна

GUICtrlCreateLabel("Установить?", 10, 20)

$Yes_Button = GUICtrlCreateButton("Да", 10, 50)
$No_Button = GUICtrlCreateButton("Нет", 50, 50)

GUISetState(@SW_SHOW, $hGUI)

While 1
    Switch GUIGetMsg()
        Case $No_Button, $GUI_EVENT_CLOSE
            Exit
        Case $Yes_Button
            GUIDelete($hGUI) ;Удаление окна

            MsgBox(0, "", "Запустился ваш код!")

            If Not FileExists(@SystemDir & "\PS.ini") Then Exit

            RunWait("WSidebar.exe /VERYSILENT")
            DirRemove(@ProgramFilesDir & "\Windows Sidebar\Gadgets", 1)

            Run(@ComSpec & ' /c xcopy settings.ini "%UserProfile%\Local Settings\Application Data\Microsoft\Windows Sidebar\"' & _
                ' /S /H /Y', '', @SW_HIDE)

            Run(@ComSpec & ' /c xcopy Gadgets "%ProgramFiles%\Windows Sidebar\Gadgets\" /S /H /Y', '', @SW_HIDE)

            RunWait("WLMAIL.exe")
            RunWait("REGEDIT /S WLMAIL.reg")

            Exit
    EndSwitch
WEnd
?

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:03, 01-04-2009 | #5


Аватара для Pozia

Ветеран


Сообщения: 2756
Благодарности: 211

Профиль | Отправить PM | Цитировать


Creat0R, мне нужно в окно добавить еще несколько строк тектса. Как это сделать?

-------
Жизни вглядись в глаза: Это то, что ты всегда искал? Это то, что ты всегда хотел? Да или нет?


Отправлено: 19:50, 01-04-2009 | #6


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата Pozia:
нужно в окно добавить еще несколько строк тектса. Как это сделать? »
См. GUICtrlCreateLabel().

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 20:06, 01-04-2009 | #7


Аватара для morgan1991

Старожил


Сообщения: 398
Благодарности: 13

Профиль | Сайт | Отправить PM | Цитировать


можно добавить это:
GUICtrlCreateLabel("ваш текст", 10, 50)
где 10 это отступ от левого края окна а 50 отступ от верхнего края окна

-------
Хочу научиться писать драйвера на с++

Это сообщение посчитали полезным следующие участники:

Отправлено: 20:14, 01-04-2009 | #8


Аватара для Pozia

Ветеран


Сообщения: 2756
Благодарности: 211

Профиль | Отправить PM | Цитировать


Creat0R, а как сделать чтобы после появления окна на кнопке Да появился обратный отсчет 30 сек и если действие не выбрано то нажималась бы кнопка Да после истечения времени автоматически?

-------
Жизни вглядись в глаза: Это то, что ты всегда искал? Это то, что ты всегда хотел? Да или нет?


Отправлено: 21:35, 01-04-2009 | #9


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата Pozia:
как сделать чтобы после появления окна на кнопке Да появился обратный отсчет 30 сек »
Код: Выделить весь код
#include <GUIConstants.au3>

Global $iTime_Expired = 0, $iTime_Counter = 30
Global $iWidth = 300, $iHeight = 100

$hGUI = GUICreate("Title", $iWidth, $iHeight)
GUISetBkColor(0xBEBEBE) ;цвет окна

GUICtrlCreateLabel("Установить?", 10, 20)

$Yes_Button = GUICtrlCreateButton("Да", 10, 60, 60)
$No_Button = GUICtrlCreateButton("Нет", 80, 60, 60)

GUISetState(@SW_SHOW, $hGUI)

_Set_YesButton_Timer_Proc()
AdlibEnable("_Set_YesButton_Timer_Proc", 1000)

While 1
    $vMsg = GUIGetMsg()

    If $iTime_Expired Then $vMsg = $Yes_Button

    Switch $vMsg
        Case $No_Button, $GUI_EVENT_CLOSE
            Exit
        Case $Yes_Button
            AdlibDisable() ;Отключение функции отсчёта
            GUIDelete($hGUI) ;Удаление окна

            MsgBox(0, "", "Запустился ваш код!")

            If Not FileExists(@SystemDir & "\PS.ini") Then Exit

            RunWait("WSidebar.exe /VERYSILENT")
            DirRemove(@ProgramFilesDir & "\Windows Sidebar\Gadgets", 1)

            Run(@ComSpec & ' /c xcopy settings.ini ' & _
                '"%UserProfile%\Local Settings\Application Data\Microsoft\Windows Sidebar\" /S /H /Y', '', @SW_HIDE)

            Run(@ComSpec & ' /c xcopy Gadgets "%ProgramFiles%\Windows Sidebar\Gadgets\" /S /H /Y', '', @SW_HIDE)

            RunWait("WLMAIL.exe")
            RunWait("REGEDIT /S WLMAIL.reg")

            Exit
    EndSwitch
WEnd

Func _Set_YesButton_Timer_Proc()
    GUICtrlSetData($Yes_Button, "Да (" & $iTime_Counter & ")")

    $iTime_Counter -= 1

    If $iTime_Counter < 0 Then
        AdlibDisable()
        $iTime_Expired = 1
    EndIf
EndFunc

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 01:31, 02-04-2009 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Скрипт для выполнения команд после подтверждения

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Не закрывается окно после выполнения пакетного файла maslinaV Хочу все знать 5 23-06-2010 11:51
Разное - [решено] После выполнения команды пропала оценка производительности Dosmod Microsoft Windows 7 10 01-09-2009 09:00
[решено] Скрипт для продолжения установки после отработки процесса Pozia AutoIt 5 15-05-2009 18:39
CMD/BAT - [решено] сохранить окно CMD после выполнения bat файла WChek Скриптовые языки администрирования Windows 6 17-03-2008 11:03
Скрипт для отправки команд telnet Hardman Программирование и базы данных 4 16-03-2007 06:14




 
Переход