1 (изменено: -TOXA-, 2012-06-01 00:03:34)

Тема: VBScript: Время "Незакрываемости" скрпита

Я уже видел подобное здесь ,но я тут написал скрипт, который, по моему мнению, легче выглядит, и нормально работает,в этом скрипте может разобраться любой новичок (хотя я сам такой).Работа скрипта состоит в том, что на время скрипт не будет выключатся. Поставить время работы скрипта можно от нескольких секунд,до нескольких лет.Вообщем смотрите, комментируйте, исправляйте ошибки=)


Dim a,b
a=Time
b=TimeSerial(Hour(a),Minute(a),Second(a)+20)
Do
If Time < b Then MsgBox "Это сообщение перестанет высвечиваться через 20 секнд после включения"
If Time >= b Then Wscript.Quit
Loop
Программист - это не профессия, а смысл жизни (с)

2

Re: VBScript: Время "Незакрываемости" скрпита

-TOXA-, значит, Вы действительно не поняли суть того скрипта. Просто попробуйте его запустить — станет ясно.

If Time < b Then MsgBox "Это сообщение перестанет высвечиваться через 20 секнд после включения"

Не перестанет.

3 (изменено: -TOXA-, 2012-06-01 01:03:21)

Re: VBScript: Время "Незакрываемости" скрпита

alexii, В том скрипте, как я понял, msgbox не будет закрываться 10 секунд, в моем случае не закрывается 20 секунд. А почему Вы сказали: "Не перестанет."?У меня вроде все нормально работает:)Или у меня просто компьютер особенный?:)Проверьте, пожалуйста, может все-таки будет нормально работать?:)Или хотя бы объясните почему не будет:(Я ведь новичок:)

Программист - это не профессия, а смысл жизни (с)

4

Re: VBScript: Время "Незакрываемости" скрпита

-TOXA-, в приведённом Вами скрипте окно сообщения MessageBox не закроется ни через 20 секунд, ни через 20 часов. Оно не закроется, пока пользователь не нажмёт «OK».

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

Но основное там — минимальное время показа; именно это пожелание участника, задавшего вопрос, вызвало данную реализацию и появление скрипта в Коллекции.

5 (изменено: -TOXA-, 2012-06-01 01:50:45)

Re: VBScript: Время "Незакрываемости" скрпита

alexii,Извините,но скрипт по ссылке не закрывается через 10 секунд..или опять компьютер глючит..Но я уже жду 15 минут,и он не закрывается,только при нажатии Ок после 10 секунд.:)

Программист - это не профессия, а смысл жизни (с)

6

Re: VBScript: Время "Незакрываемости" скрпита

-TOXA-, я Вас поздравляю — у меня нынче тоже не закрывается . А раньше-то работало . Опытным путём выяснил, что если убрать вывод окна поверх остальных окон (MB_TOPMOST — «+ &H40000»), то работает как надо и теперь. Интересно, какое из обновлений могло привести к такому изменению поведения?!

Добавил замечание по обнаруженному Вами поведению в пост в Коллекции. Спасибо!

7

Re: VBScript: Время "Незакрываемости" скрпита

alexii, Извините:), но когда я даже убрал из скрипта + &H40000, и у меня получилось:

Option Explicit

Dim objWshShell

Dim intTime4Show
Dim intMinimumTime
Dim intTimeStartShowing
Dim intRetValue

Set objWshShell = WScript.CreateObject("WScript.Shell")
intTime4Show    = 60
intMinimumTime  = 10                
intTimeStartShowing = Timer                                                

Do
intRetValue = objWshShell.Popup( _
"Здесь" & vbCrLf & "некий" & vbCrLf & "текст", _
intTime4Show - (Timer - intTimeStartShowing), _
"Тут заголовок", _
vbOKOnly + vbInformation)
Loop Until intRetValue = -1 Or (Timer - intTimeStartShowing) > intMinimumTime

Set objWshShell = Nothing

WScript.Quit 0

Опять не закрывается, либо я что-то не правильно сделал, либо на разных ОС VBS функции различны, как например открытие диалога на Windows 7

Программист - это не профессия, а смысл жизни (с)

8

Re: VBScript: Время "Незакрываемости" скрпита

-TOXA-, у меня Windows XP SP3. Работает.

С каким результатом у Вас исполнится такое:

Option Explicit

Dim objWshShell

Set objWshShell = WScript.CreateObject("WScript.Shell")

WScript.Echo objWshShell.Popup("Текст", 5, "Заголовок", vbOKOnly + vbInformation)

Set objWshShell = Nothing

WScript.Quit 0

9

Re: VBScript: Время "Незакрываемости" скрпита

alexii,Сначала высвечивается "Текст", а через пять секунд высвечивается "-1",У меня тоже XP SP3..

Программист - это не профессия, а смысл жизни (с)

10

Re: VBScript: Время "Незакрываемости" скрпита

-TOXA-, тогда странно, почему у Вас не закрывается окно сообщения из кода, приведённого в посте #7. У меня оно закрывается без каких-либо действий пользователя через заданные 60 секунд.

11

Re: VBScript: Время "Незакрываемости" скрпита

alexii,хм..Сейчас закрылся,а тогда я 14 минут ждал,и безрезультатно:(

Программист - это не профессия, а смысл жизни (с)

12

Re: VBScript: Время "Незакрываемости" скрпита

попап если не активен может не считать время, старая песня

Я конечно далек от мысли... (с)

13

Re: VBScript: Время "Незакрываемости" скрпита

+ месаджбокс удобен когда надо сделать модальное для системы окно

Я конечно далек от мысли... (с)

14 (изменено: -TOXA-, 2012-06-06 00:34:45)

Re: VBScript: Время "Незакрываемости" скрпита

А через MessageBox можно так сделать?!

Программист - это не профессия, а смысл жизни (с)

15 (изменено: -TOXA-, 2012-06-12 23:16:01)

Re: VBScript: Время "Незакрываемости" скрпита

Ааа..я понял, это просто функция POPUP'а

Set a = CreateObject("Wscript.Shell")
aa=InputBox("Введите число секунд, через которые следующие окно самостояетельно закроется","Время")
a.popup "Это сообщение исчезнет через "&aa&" секунд(ы)",aa,"Почему?"
Программист - это не профессия, а смысл жизни (с)