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

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

Ответить
Настройки темы
Проблема с кнопкой. И еще надо чтобы $form закрылся но скрипт бы выполнялся дальше

Аватара для JaguarSP

Новый участник


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

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


Изменения
Автор: JaguarSP
Дата: 20-04-2010
Описание: требования Модератора
Вот весь скрипт...
Код: Выделить весь код
;#NoTrayIcon
#include <GUIConstants.au3>
$paz=InputBox("JaguarSP Timer for OFF", "Введите время в миннутах ;-)")


$Form = GUICreate("JaguarSP Timer for OFF", 304, 233, 511, 253)
$Restart = GUICtrlCreateButton("Restart", 8, 200, 137, 25, 0)
GUICtrlSetCursor (-1, 0)
$Logoff = GUICtrlCreateButton("Logoff", 156, 200, 137, 25, 0)
GUICtrlSetCursor (-1, 0)
$Shutdown = GUICtrlCreateButton("Shutdown", 8, 173, 284, 25, 0)
GUICtrlSetCursor (-1, 0)
$Label1 = GUICtrlCreateLabel("Выберите что произойдет через это время", 48, 24, 263, 17)
$Label2 = GUICtrlCreateLabel("Shutdown-Выключение компъютера", 24, 48, 186, 17)
$Label3 = GUICtrlCreateLabel("Restart- Перезагрузка компъютера", 24, 72, 183, 17)
$Label4 = GUICtrlCreateLabel("Logoff- Завершить работу текущей учетной записи ", 24, 96, 263, 17)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Select
Case $nMsg=$Restart
	     $vot=2
        
		 
Case $nMsg = $GUI_EVENT_CLOSE
Exit

EndSelect
WEnd
$par=$paz * 60000-20000
$begin = TimerInit()
sleep($par)
$dif = TimerDiff($begin)
$msg=MsgBox(262145,"Atention", "Ваш компъютер будет через 20 секунд", 15) 
If $msg=1  Then 
    Sleep(20000)
	Shutdown($vot)
EndIf
If $msg=2 Then MsgBox(262144,"Atention", "Вы отменили запуск ядерных ракет на USA мир спасен =))")  
If	$msg=-1 then Shutdown($vot)
надо что-то написать после этого:

Case $nMsg=$Restart
$vot=2

Чтобы $form закрылся но скрипт бы выполнялся дальше.... а что нуна вставить не могу понять=((( (видимо в силу не опытности)

Отправлено: 01:59, 20-04-2010

 

Аватара для Creat0R

Must AutoIt


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

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


Предупреждение за нарушение правил форума, пункт 2.7:

Цитата:
В заголовке темы обязательно обозначайте название предмета, которого касается вопрос, а в теле сообщения максимально подробно опишите проблему (приведите аппаратную/программную конфигурацию, а также изложите ситуацию, в которой возникает проблема).
Переименуйте пожалуйста тему.




Цитата JaguarSP:
Вот весь скрипт... »
Который нужно заключать в теги кода.

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

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

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


Отправлено: 02:27, 20-04-2010 | #2



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

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


Аватара для madmasles

Ветеран


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

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


JaguarSP,
Попробуйте так:
Код: Выделить весь код
#NoTrayIcon
;#RequireAdmin
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

$paz = InputBox("JaguarSP Timer for OFF", "Введите время в секундах ;-)", "", " M2")
If $paz = "" Or StringIsDigit($paz) <> 1 Then Exit
$Form1 = GUICreate("", 400, 498, -1, -1, $WS_BORDER, BitOR($WS_EX_TOOLWINDOW, $GUI_WS_EX_PARENTDRAG, $WS_EX_CLIENTEDGE, $WS_EX_STATICEDGE))
$Label1 = GUICtrlCreateLabel($paz, 16, 40, 262, 205, $SS_CENTER)
GUICtrlSetFont(-1, 130, 400, 0, "Comic Sans MS")
GUICtrlSetColor(-1, 0xFF0000)
$Label3 = GUICtrlCreateLabel("Сек.", 280, 185, 109, 62)
GUICtrlSetFont(-1, 36, 800, 0, "Comic Sans MS")
$Restart = GUICtrlCreateButton("Restart", 8, 450, 137, 25, 0)
GUICtrlSetCursor(-1, 0)
$Logoff = GUICtrlCreateButton("Logoff", 156, 450, 137, 25, 0)
GUICtrlSetCursor(-1, 0)
$Shutdown = GUICtrlCreateButton("Shutdown", 8, 423, 284, 25, 0)
GUICtrlSetCursor(-1, 0)
$Label4 = GUICtrlCreateLabel("Выберите что произойдет через это время", 48, 324, 263, 17)
$Label5 = GUICtrlCreateLabel("Shutdown-Выключение компъютера", 24, 348, 386, 17)
$Label6 = GUICtrlCreateLabel("Restart- Перезагрузка компъютера", 24, 372, 383, 17)
$Label7 = GUICtrlCreateLabel("Logoff- Завершить работу текущей учетной записи ", 24, 396, 263, 17)
GUISetState(@SW_SHOW)

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $Restart
            _Timer()
            ;Shutdown(2)
            MsgBox(0, "", "Перезагрузка")
            Exit
        Case $Logoff
            _Timer()
            ;Shutdown(0)
            MsgBox(0, "", "Выход из учетной записи")
            Exit
        Case $Shutdown
            _Timer()
            ;Shutdown(1)
            MsgBox(0, "", "Выключение")
            Exit
    EndSwitch
WEnd
Func _Timer()
    For $Start = $paz To 0 Step -1
        Select
            Case $Start >= 7
                GUICtrlSetColor($Label1, 0x00FF00)
                GUICtrlSetData($Label1, $Start)
            Case $Start > 3
                GUICtrlSetColor($Label1, 0xFF8000)
                GUICtrlSetData($Label1, $Start)
            Case $Start >= 0
                GUICtrlSetColor($Label1, 0xFF0000)
                GUICtrlSetData($Label1, $Start)
        EndSelect
        Sleep(1000)
    Next
    Return
EndFunc   ;==>_Timer
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:35, 20-04-2010 | #3


Аватара для JaguarSP

Новый участник


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

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


хм вроде гуд теперь буду разбираться как работает этот гуд спасибо

Отправлено: 09:57, 20-04-2010 | #4


Аватара для JaguarSP

Новый участник


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

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


после еще одного дня дротсва над скриптом вышли еще проблемы =(
Код: Выделить весь код
#NoTrayIcon
#RequireAdmin
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Include <Constants.au3>

$par = InputBox("JaguarSP Timer for OFF", "Введите время в минутах ;-)", "", " M2")
$paz=$par*60
If $paz = "" Or StringIsDigit($paz) <> 1 Then Exit	
	Opt("TrayMenuMode", 1)
    Opt("TrayOnEventMode", 1)
$Form1 = GUICreate("Shootdown", 400, 498, -1, -1 ); $WS_BORDER, BitOR($WS_EX_TOOLWINDOW, $GUI_WS_EX_PARENTDRAG, $WS_EX_CLIENTEDGE, $WS_EX_STATICEDGE)); $hGUI 



$pic=GUICtrlCreatePic ( @ScriptDir & '\shootdown.bmp', 0, 0 ,400 ,498 )
GUICtrlSetState($Pic, $GUI_DISABLE)
$Label1 = GUICtrlCreateLabel($paz, 16, 150, 262, 120, $SS_CENTER)
GUICtrlSetFont(-1, 72, 400, 0, "Comic Sans MS")
GUICtrlSetColor(-1, 0xFF0000)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$Label3 = GUICtrlCreateLabel("Сек.", 280, 185, 109, 62)
GUICtrlSetColor(-1, 0xFF0000)
GUICtrlSetFont(-1, 36, 800, 0, "Comic Sans MS")
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$cancel = GUICtrlCreateButton("Cancel", 295, 422, 100, 53, 0)
GUICtrlSetCursor(-1, 0)
$Restart = GUICtrlCreateButton("Restart", 8, 450, 137, 25, 0)
GUICtrlSetCursor(-1, 0)
$Logoff = GUICtrlCreateButton("Logoff", 156, 450, 137, 25, 0)
GUICtrlSetCursor(-1, 0)
$Shutdown = GUICtrlCreateButton("Shutdown", 8, 423, 284, 25, 0)
GUICtrlSetCursor(-1, 0)
$Label4 = GUICtrlCreateLabel("Выберите необходимое дейстыие", 48, 324, 263, 17)
          GUICtrlSetColor(-1, 0xFF0000)
		  GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
		  GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)   
$Label5 = GUICtrlCreateLabel("Shutdown-Выключение компъютера", 24, 348, 386, 17)
		  GUICtrlSetColor(-1, 0xFF0000)
		  GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
          GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$Label6 = GUICtrlCreateLabel("Restart- Перезагрузка компъютера", 24, 372, 383, 17)
          GUICtrlSetColor(-1, 0xFF0000)
		  GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
		  GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$Label7 = GUICtrlCreateLabel("Logoff- Завершить работу текущей учетной записи ", 24, 396, 263, 17)
		  GUICtrlSetColor(-1, 0xFF0000)
		  GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
          GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUISetState(@SW_SHOW)

$RestoreItem = TrayCreateItem("Восстановить.")
TrayItemSetOnEvent(-1, "_RestoreFromTray_Proc")

TraySetOnEvent(-13, "_RestoreFromTray_Proc")
TraySetClick(1)
GUISetState()
				While -1
             Switch GUIGetMsg()
        Case -3
            ExitLoop
        Case -4
            GUISetState(@SW_HIDE)
            TraySetState(1)
    EndSwitch
WEnd

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $Restart
            _Timer()
			   $msg=MsgBox(262145,"Atention", "Ваш компъютер будет через 20 секунд", 15) 
                         If $msg=1  Then 
                            Sleep(20000)
							MsgBox(0, "", "Перезагрузка")
						EndIf
							If $msg=2 Then MsgBox(262144,"Atention", "Вы отменили запуск ядерных ракет на USA мир спасен =))")  
							If	$msg=-1 Then MsgBox(0, "", "Перезагрузка2") 
            ;Shutdown(2)
            ;MsgBox(0, "", "Перезагрузка")
            Exit
        Case $Logoff
            _Timer()
			$msg=MsgBox(262145,"Atention", "Ваш компъютер будет через 20 секунд", 15) 
                         If $msg=1  Then 
                            Sleep(20000)
							MsgBox(0, "", "Выход из учетной записи")
						EndIf
							If $msg=2 Then MsgBox(262144,"Atention", "Вы отменили запуск ядерных ракет на USA мир спасен =))")  
							If	$msg=-1 Then MsgBox(0, "", "Выход из учетной записи2") 
            ;Shutdown(0)
            ;MsgBox(0, "", "Выход из учетной записи")
            Exit
        Case $Shutdown
            _Timer()
			$msg=MsgBox(262145,"Atention", "Ваш компъютер будет через 20 секунд", 15) 
                         If $msg=1  Then 
                            Sleep(20000)
							MsgBox(0, "", "Выключение")
						EndIf
							If $msg=2 Then MsgBox(262144,"Atention", "Вы отменили запуск ядерных ракет на USA мир спасен =))")  
							If	$msg=-1 Then MsgBox(0, "", "Выключение2") 
            ;Shutdown(1)
            ;MsgBox(0, "", "Выключение")
			Exit
			Case $cancel
   			$msg2=MsgBox(262148,"Atention", "Вы уверенны?")
			If $msg2=6 Then Exit
				
		EndSwitch
	WEnd
	
Func _Timer()
    For $Start = $paz To 0 Step -1
        Select
            Case $Start >= 7
                GUICtrlSetColor($Label1, 0x00FF00)
                GUICtrlSetData($Label1, $Start)
            Case $Start > 3
                GUICtrlSetColor($Label1, 0xFF8000)
                GUICtrlSetData($Label1, $Start)
            Case $Start >= 0
                GUICtrlSetColor($Label1, 0xFF0000)
                GUICtrlSetData($Label1, $Start)
        EndSelect
        Sleep(1000)
    Next
    Return
EndFunc   ;==>_Timer

Func _RestoreFromTray_Proc()
    If BitAND(WinGetState($Form1), 2) = 2 Then Return
    TraySetState(2)
    GUISetState(@SW_SHOW)
    GUISetState(@SW_RESTORE)
EndFunc
проблема в том что кнопки работают как то не корректно чтоли... например если нажимаю свернуть в трее то после разварачивания обратно, не какие кнопки не работают(кроме свернуть и то сварачивается не в трее а просто, если на что нить нажимал....). И насчет кнопки cancel, как сделать чтобы она останавливала скрипт в любой момент(в частности когда идет таймер) и спрашивала да или нет и если нет то скрипт идет дальше...

Отправлено: 20:24, 20-04-2010 | #5



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - AutoHotkey - проблемы со скриптом Vulpix Программирование и базы данных 0 15-04-2010 00:52
MSFT SQL Server - Помогите со скриптом e2site Программирование и базы данных 2 06-05-2009 02:34
Помогите со скриптом BigDim Microsoft Windows NT/2000/2003 2 04-07-2008 04:18
Помоите со скриптом DENoszone Программирование в *nix 10 28-06-2008 13:46
Помогите со скриптом msaus Вебмастеру 7 14-08-2006 17:57




 
Переход