Что нового

[Окна, Диалоги] Таймер обратного отчета в реальном времени с кнопкой отмены

V_O_V_A_N

Новичок
Сообщения
2
Репутация
0
Нужен скрип–таймера обратного отчета (минут секунд) в реальном времени с кнопкой отмены, по истечению которого, будет запущен сценарий, cmd не выходя за пределы оболочки, а при нажатии кнопки СТОП окно просто закроется.
Время начала нужно задать в скрипте.
 

AZJIO

Меценат
Меценат
Сообщения
2,878
Репутация
1,194
V_O_V_A_N
типа такого? Stopwatch (исходник в комплекте)
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Автор
V

V_O_V_A_N

Новичок
Сообщения
2
Репутация
0
[Окна, Диалоги] Re: [Окна, Диалоги] Таймер обратного отчета в реальном времени с кнопкой отмены

Спасибо! Вечером проверю, отпишусь!


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

Нашел идеальное решение через VBS :ok: http://pastebin.com/h14N0xuB
Код:
Option Explicit
 
If RunCountdown(5) Then CreateObject("WScript.Shell").Run """%programfiles%\Internet Explorer\iexplore.exe"" ""http://yandex.ru"""
 
Function CreateWindow()
        ' source http://forum.script-coding.com/viewtopic.php?pid=75356#p75356
        Dim sSignature, oShellWnd, oProc
        On Error Resume Next
        sSignature = Left(CreateObject("Scriptlet.TypeLib").GUID, 38)
        Do
                Set oProc = CreateObject("WScript.Shell").Exec("mshta about:""about:<head><script>moveTo(-32000,-32000);document.title=' '</script><hta:application id=app border=thick minimizebutton=no maximizebutton=no scroll=no showintaskbar=yes contextmenu=no selection=no innerborder=no icon=""""/><object id='shell' classid='clsid:8856F961-340A-11D0-A96B-00C04FD705A2'><param name=RegisterAsBrowser value=1></object><script>shell.putproperty('" & sSignature & "',document.parentWindow);</script></head>""")
                Do
                        If oProc.Status > 0 Then Exit Do
                        For Each oShellWnd In CreateObject("Shell.Application").Windows
                                Set CreateWindow = oShellWnd.GetProperty(sSignature)
                                If Err.Number = 0 Then Exit Function
                                Err.Clear
                        Next
                Loop
        Loop
End Function
 
Function RunCountdown(lSetTime)
        Dim oWnd, sWndType, lInitTime, lRemain
        RunCountdown = False
        On Error Resume Next
        Set oWnd = CreateWindow()
        sWndType = TypeName(oWnd)
        With oWnd
                With .Document
                        .Title = "Countdown"
                        .Body.Style.Background = "buttonface"
                        .Body.Style.Font = "bold 60pt consolas, courier new"
                        .Body.InnerHTML = "<center><div id='Output' style='margin: 10px;'>00:00</div><button onclick='Clicked=1;' style='width: 85px; margin: 10px;'>Reset</button><button onclick='Clicked=2;' style='width: 85px; margin: 10px;'>Quit</button></center>"
                End With
                .ResizeTo 350, 230
                .MoveTo 400, 400
                .ExecScript "window.Clicked=0;"
                lInitTime = Timer()
                Do
                        If sWndType <> TypeName(oWnd) Then Exit Function
                        Select Case .Clicked
                        Case 1
                                lInitTime = Timer()
                                .Clicked = 0
                        Case 2
                                .Close
                                Exit Function
                        End Select
                        lRemain = (86400 + lSetTime + lInitTime - Timer()) mod 86400
                        .Output.InnerHTML = Right("0" & lRemain \ 60, 2) & ":" & Right("0" & lRemain Mod 60, 2)
                        WScript.Sleep 40
                Loop While lRemain > 0
                .Close
        End With
        RunCountdown = True
End Function
 
Верх