|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Скрипт для выполнения команд после подтверждения |
|
|
Скрипт для выполнения команд после подтверждения
|
Ветеран Сообщения: 2756 |
Профиль | Отправить 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 |
Старожил Сообщения: 398
|
Профиль | Сайт | Отправить 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 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить 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 |
|
------- Отправлено: 23:23, 31-03-2009 | #3 |
Ветеран Сообщения: 2756
|
Профиль | Отправить PM | Цитировать morgan1991, при нажатии Да не закрывается появившееся окно. Как исправить?
добавил Exit перед последним EndIf но некрасиво получается. Окно закрывается после выполнения всех команд. Мне бы хотелось чтобы после нажатия кнопки Да окно закрывалось и только потом выполнялись мои команды |
------- Отправлено: 18:53, 01-04-2009 | #4 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить 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 |
||
------- Отправлено: 19:03, 01-04-2009 | #5 |
Ветеран Сообщения: 2756
|
Профиль | Отправить PM | Цитировать Creat0R, мне нужно в окно добавить еще несколько строк тектса. Как это сделать?
|
------- Отправлено: 19:50, 01-04-2009 | #6 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Pozia:
|
|
------- Отправлено: 20:06, 01-04-2009 | #7 |
Старожил Сообщения: 398
|
Профиль | Сайт | Отправить PM | Цитировать можно добавить это:
GUICtrlCreateLabel("ваш текст", 10, 50) где 10 это отступ от левого края окна а 50 отступ от верхнего края окна |
------- Отправлено: 20:14, 01-04-2009 | #8 |
Ветеран Сообщения: 2756
|
Профиль | Отправить PM | Цитировать Creat0R, а как сделать чтобы после появления окна на кнопке Да появился обратный отсчет 30 сек и если действие не выбрано то нажималась бы кнопка Да после истечения времени автоматически?
|
------- Отправлено: 21:35, 01-04-2009 | #9 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Pozia:
#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 |
|
------- Отправлено: 01:31, 02-04-2009 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Не закрывается окно после выполнения пакетного файла | 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 |
|