PDA

Показать полную графическую версию : Перезагрузка компьютера


Страниц : [1] 2

SharkyEXE
25-06-2009, 17:49
Вступление

1) Свел все рабочие коды-примеры скриптов для перезагрузки ПК после определенного таймаута на основе AutoIt из данной темы на форуме, разбросанным по страницам, в одно данное сообщение.

2) Обязательно к ознакомлению в конце данного сообщения Примечание!!!.

Блок готовых рабочих кодов-примеров скриптов для перезагрузки ПК после определенного таймаута на основе AutoIt

1) Таймаут перед тем, как компьютер перезагрузиться-30 секунд (полностью рабочая версия кода-примера скрипта для перезагрузки ПК после определенного таймаута на основе AutoIt, получившаяся благодаря коррекции кода-примера скрипта, приведенного здесь Перезагрузка компьютера из командной строки (http://oszone.net/6165/))
$J = 30 ;
ProgressOn("Пожалуйста, подождите...", "Происходит уничтожение данных :)", "Система обнаружила использование нелегальной" & CHR(10) & "копии Windows. Через " & $j & " сек. все данные" & CHR(10) & "на ваших дисках будут уничтожены.")
For $i = 1 to 99 step 3.3
$j=$j-1
sleep(1000)
ProgressSet( $i, "Система обнаружила использование нелегальной" & CHR(10) & "копии Windows. Через " & $j & " сек. все данные" & CHR(10) & "на ваших дисках будут уничтожены.")
Next
ProgressSet(-1 , "Шеф! Все пропало. Прощайте.")
Shutdown(2)

sleep(5000)

Благодарность выражаеться пользователю Sylver Dragon (http://forum.oszone.net/member.php?userid=70468)

2) Таймаут перед тем, как компьютер перезагрузиться-24 секунды
Local $i, $j=24

ProgressOn('Пожалуйста, подождите...', 'Происходит уничтожение данных :)', 'Система обнаружила использование нелегальной' & @CRLF & 'копии Windows. Через ' & $j & ' сек. все данные' & @CRLF & 'на ваших дисках будут уничтожены.')
For $i = 1 to 99 step 4
Sleep(1000)
ProgressSet($i, 'Система обнаружила использование нелегальной' & @CRLF & 'копии Windows. Через ' & $j & ' сек. все данные' & @CRLF & 'на ваших дисках будут уничтожены.')
$j -= 1
Next
ProgressSet(100, 'Шеф! Все пропало. Прощайте.')
Shutdown(2)

Sleep(5000)
Благодарность выражаеться пользователю proxy (http://forum.oszone.net/member.php?userid=41903)

3) Таймаут перед тем, как компьютер перезагрузиться-100 секунд
$i = 0
$iI = 100
;Отображаем окно демонстрации развития процесса
ProgressOn("Пожалуйста, подождите...", "Происходит уничтожение данных :)", "Система обнаружила использование нелегальной" & @CRLF & "копии Windows. Через " & $iI & " сек. все данные" & @CRLF & "на ваших дисках будут уничтожены.")
For $i = 1 to 100 step 1 ; Задаём цикл от 1 до 100 при повторении цикла к $i + 1 о чём свидетельствует step 1
sleep(1000) ; Пауза 1 сек
; Установить позицию и текст для созданного ранее окна отображения развития процесса.
ProgressSet($i, "Система обнаружила использование нелегальной" & @CRLF & "копии Windows. Через " & $iI & " сек. все данные" & @CRLF & "на ваших дисках будут уничтожены.")
$iI = $iI - 1 ; При повторении цикла отнимаем от $iI один т.е. 99 98 97 96 ...
Next ; Конец цикла т.е. $i = 100
ProgressSet(100 , "Шеф! Все пропало. Прощайте.") ; Тут надо вписать процентовку прогресс бара ....те 100%
sleep(5000)
Shutdown(2) ; перезагружаем
Благодарность выражаеться пользователю FlatX007 (http://forum.oszone.net/member.php?userid=115232)

4) Таймаут перед тем, как компьютер перезагрузиться-10 секунд
$i = 0
$iI = 10
;Отображаем окно демонстрации развития процесса
ProgressOn("Пожалуйста, подождите...", "Происходит уничтожение данных :)", "Система обнаружила использование нелегальной" & @CRLF & "копии Windows. Через " & $iI & " сек. все данные" & @CRLF & "на ваших дисках будут уничтожены.")
For $i = 1 to 100 step 9.5 ; Задаём цикл от 1 до 100 при повторении цикла к $i + 1 о чём свидетельствует step 9.5
sleep(1000) ; Пауза 1 сек
; Установить позицию и текст для созданного ранее окна отображения развития процесса.
ProgressSet($i, "Система обнаружила использование нелегальной" & @CRLF & "копии Windows. Через " & $iI & " сек. все данные" & @CRLF & "на ваших дисках будут уничтожены.")
$iI = $iI - 1 ; При повторении цикла отнимаем от $iI один т.е. 99 98 97 96 ...
Next ; Конец цикла т.е. $i = 100
ProgressSet(100 , "Шеф! Все пропало. Прощайте.") ; Тут надо вписать процентовку прогресс бара ....те 100%
sleep(5000)
Shutdown(2) ; перезагружаем
Благодарность выражаеться пользователю FlatX007 (http://forum.oszone.net/member.php?userid=115232)

5) Таймаут перед тем, как компьютер перезагрузиться-10 секунд. Доп. инфо см. по следующей ссылке: http://forum.oszone.net/post-1151716-8.html
$i = 0
$iI = 100
ProgressOn("Пожалуйста, подождите...", "Происходит уничтожение данных :)", "Система обнаружила использование нелегальной" & @CRLF & "копии Windows. Через " & Round($iI / 10) & " сек. все данные" & @CRLF & "на ваших дисках будут уничтожены.")
For $i = 1 to 100 Step 1
sleep(100) ; делим $iI на 10 и округляем до целого числа = 10 9 8 7 6 ...
ProgressSet($i, "Система обнаружила использование нелегальной" & @CRLF & "копии Windows. Через " & Round($iI / 10) & " сек. все данные" & @CRLF & "на ваших дисках будут уничтожены.")
$iI = $iI - 1 ;
Next ;
ProgressSet(100 , "Шеф! Все пропало. Прощайте.")
sleep(1000)
Shutdown(2) ; перезагружаем
Благодарность выражаеться пользователю FlatX007 (http://forum.oszone.net/member.php?userid=115232)

6) Таймаут перед тем, как компьютер перезагрузиться-30 секунд
$J = 30
ProgressOn("Пожалуйста, подождите...", "Происходит уничтожение данных :)", "Система обнаружила использование нелегальной" & CHR(10) & "копии Windows. Через " & $j & " сек. все данные" & CHR(10) & "на ваших дисках будут уничтожены.")
For $i = 0 to 100 step 100/$J
$j=$j-1
sleep(1000)
ProgressSet( $i, "Система обнаружила использование нелегальной" & CHR(10) & "копии Windows. Через " & $j & " сек. все данные" & CHR(10) & "на ваших дисках будут уничтожены.")
Next
ProgressSet(-1 , "Шеф! Все пропало. Прощайте.")
Shutdown(2)
Благодарность выражаеться пользователю Sylver Dragon (http://forum.oszone.net/member.php?userid=70468)

7) Таймаут перед тем, как компьютер перезагрузиться-30 секунд
$s = 30
ProgressOn('Пожалуйста, подождите...', 'Происходит уничтожение данных :)', 'Система обнаружила использование нелегальной' & @CRLF & 'копии Windows. Через ' & $s & ' сек. все данные' & @CRLF & 'на ваших дисках будут уничтожены.')
For $i=1 To 100 Step 100/$s
Sleep(1000)
ProgressSet($i, 'Система обнаружила использование нелегальной' & @CRLF & 'копии Windows. Через ' & $s & ' сек. все данные' & @CRLF & 'на ваших дисках будут уничтожены.')
Next
ProgressSet(100, 'Шеф! Все пропало. Прощайте.')
Sleep(1000)
Shutdown(2)
Благодарность выражаеться пользователям Sylver Dragon (http://forum.oszone.net/member.php?userid=70468) (оригинал кода-см. пример 7)) и proxy (http://forum.oszone.net/member.php?userid=41903) (коррекция кода)

8) Таймаут перед тем, как компьютер перезагрузиться-5 секунд. Улучшена структура скрипта, секунды теперь отображаються как десятичное число, т. е например 0.4 секунды, а не как во всех предыдущих примерах скриптов-1 секунда, 2 секунды/ В данном примере прогресс бар идет быстрее за счет меньшей задержки между счетчиком цикла, т. е. за счет значения параметра $Sleep = 100. В примерах скриптов выше это значение задержки, пусть и реализовано может и по другому, было равным 1000 (1 секунда)
$Title = "Пожалуйста, подождите..."
$SubTitle = "Происходит уничтожение данных :)"
$Message = "Система обнаружила использование нелегальной" & @CRLF
$Message &= "копии Windows. Все данные на ваших дисках" & @CRLF
$Message &= "будут уничтожены. Осталось времени: "
$Time = 5000
$Sleep = 100

ProgressOn($Title, $SubTitle, $Message & $Time)
For $I = 0 to $Time Step $Sleep
ProgressSet($I / $Time * 100, $Message & ($Time - $I) / 1000 & " секунд")
Sleep($Sleep)
Next
ProgressSet(100, "Шеф! Все пропало. Прощайте.")
Shutdown(2)
Sleep(1000)
Благодарность выражаеться пользователю Sylver Dragon (http://forum.oszone.net/member.php?userid=70468)

9) Таймаут перед тем, как компьютер перезагрузиться-30 секунд. Доп. инфо см. по следующей ссылке: http://forum.oszone.net/post-1152952-23.html
$Title = "Пожалуйста, подождите..." ; Заголовок
$SubTitle = "Происходит уничтожение данных :)" ; Суб-заголовок

$Message = "Система обнаружила использование нелегальной" & @CRLF ; Сообщение. Записано в таком виде для удобства
$Message &= "копии Windows. Все данные на ваших дисках" & @CRLF
$Message &= "будут уничтожены. Осталось времени: "

$Time = 30 * 1000 ; Время здесь хранится в миллескундах. 1 с = 1000 мс
$Sleep = 0.01 * 1000 ; 10 мс. Меньше 1 мс ставить не рекомундуется. Впрочем, тут и 100 мс хватает.

$Timer = TimerInit() ; Инициализация таймера.

ProgressOn($Title, $SubTitle, $Message & $Time) ; Параметры: заголовок, суб-заголовок, сообщение. Включаем окно прогресса.
While TimerDiff($Timer) < $Time ; Пока прошло времени меньше чем нужно - повторять:
ProgressSet(TimerDiff($Timer) / $Time * 100, $Message & Round(($Time - TimerDiff($Timer)) / 1000, 1) & " секунд")
; ProgressSet ( percent [, "subtext" [, "maintext"]] )
; Параметр 1: процент прогресса. Прошедшее время делим на требуемое и умножаем на 100
; Параметр 2: сообщение. Стандартное, как в перменной $Message плюс оставшееся время округлённое до десятых
; Параметр 3: опциональный. Здесь не используется.
Sleep($Sleep)
; Подожать $Sleep мс
WEnd
ProgressSet(100, "Шеф! Все пропало. Прощайте.") ; Выводим последнее сообщение.
Shutdown(2) ; Перезагружаем компьютер
Sleep(1000) ; Чтобы было видно последнее сообщение.
Благодарность выражаеться пользователю Sylver Dragon (http://forum.oszone.net/member.php?userid=70468)

10) Таймаут перед тем, как компьютер перезагрузиться-10 секунд. Доп. инфо см. по следующей ссылке: http://forum.oszone.net/post-1153010-24.html
#NoTrayIcon
;~ #RequireAdmin
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

$Form1 = GUICreate("", 400, 298, -1, -1, $WS_BORDER, BitOR($WS_EX_TOOLWINDOW, $GUI_WS_EX_PARENTDRAG, $WS_EX_CLIENTEDGE, $WS_EX_STATICEDGE))
$Label1 = GUICtrlCreateLabel("0", 16, 40, 262, 205, $SS_CENTER)
GUICtrlSetFont(-1, 130, 400, 0, "Comic Sans MS")
GUICtrlSetColor(-1, 0xFF0000)
$Label2 = GUICtrlCreateLabel("Перезагрузка компьютера через ... ", 24, 8, 358, 27)
GUICtrlSetFont(-1, 14, 800, 0, "Tahoma")
$Label3 = GUICtrlCreateLabel("Сек.", 280, 185, 109, 62)
GUICtrlSetFont(-1, 36, 800, 0, "Comic Sans MS")

WinSetOnTop($Form1, "", 1)

GUISetState(@SW_SHOW)

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $nMsg = 1
For $Start = 10 To 0 Step -1 ; -- Вписывааем ВМЕСТО 10 любую цифру эта цифра и будет начало отсчёта --
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

GUISetState(@SW_HIDE)

If Not IsDeclared("iMsgBoxAnswer") Then Local $iMsgBoxAnswer
$iMsgBoxAnswer = MsgBox(36,"","Перезагрузить компьютер ? ")
Select
Case $iMsgBoxAnswer = 6 ;Yes
;~ Shutdown(2) ; Перезагружаем
Exit
Case $iMsgBoxAnswer = 7 ;No
Exit
EndSelect
EndSwitch
WEnd
Благодарность выражаеться пользователю FlatX007 (http://forum.oszone.net/member.php?userid=115232)

Кусок кода, позволяющий создать самоудаляющийся скрипт для перезагрузки ПК после определенного таймаута на основе AutoIt после завершении отработки скрипта

http://forum.oszone.net/post-1152147-21.html

Благодарность выражаеться пользователю proxy (http://forum.oszone.net/member.php?userid=41903)

Примечание!!!

1) Внимание. Все вышеуказанные коды скриптов для перезагрузки ПК-абсолютно рабочие. Осталось только скопировать содержимое одного из вышеуказанных кодов, вставить, сохранить, запустить-все работает.

2) Чтобы тестировать их выполнение, делать версию под себя, изменяя параметры таймаута до перезагрузки, текст сообщения и прочее, рекомендую, как и делал пользователь FlatX007 (http://forum.oszone.net/member.php?userid=115232), в скриптах изменять одну строчку.

Например:

было
Shutdown(2)

стало
;~ Shutdown(2)

Так у Вас при тестировании/отладки/"игры" с параметрами скрипта, его пробовании в работе, будет работать все, за исключением самой главной функции скрипта-отправки ПК в перезагруз, т. к. строка, отвечающая за это, т. е. Shutdown(2) закомментированна (видоизменена) на ;~ Shutdown(2) и следовательно, она эта строка будет не работать до тех пор, пока не станет прежней, т. е. Shutdown(2).

При получении финального кода скрипта, меняем обратно значение строки:

было
;~ Shutdown(2)

стало
Shutdown(2)
сохраняем еще раз полученный скрипт с тем же именем или с новым именем. Все. Будьте осторожны! С данного момента скрипт становиться абсолютно рабочим и в связи с тем, что строка, отвечающая за перезагруз ПК стала рабочая (см. изменение строки немного выше), при выполнении данного скрипта ПК будет уходить в перезагрузку через указанный таймаут времени.

FlatX007
25-06-2009, 18:50
$i = 0
$iI = 100
;Отображаем окно демонстрации развития процесса
ProgressOn("Пожалуйста, подождите...", "Происходит уничтожение данных :)", "Система обнаружила использование нелегальной" & @CRLF & "копии Windows. Через " & $iI & " сек. все данные" & @CRLF & "на ваших дисках будут уничтожены.")
For $i = 1 to 100 step 1 ; Задаём цикл от 1 до 100 при повторении цикла к $i + 1 о чём свидетельствует step 1
sleep(1000) ; Пауза 1 сек
; Установить позицию и текст для созданного ранее окна отображения развития процесса.
ProgressSet($i, "Система обнаружила использование нелегальной" & @CRLF & "копии Windows. Через " & $iI & " сек. все данные" & @CRLF & "на ваших дисках будут уничтожены.")
$iI = $iI - 1 ; При повторении цикла отнимаем от $iI один т.е. 99 98 97 96 ...
Next ; Конец цикла т.е. $i = 100
ProgressSet(100 , "Шеф! Все пропало. Прощайте.")
sleep(5000)
;~ Shutdown(2) ; перезагружаем

proxy
25-06-2009, 18:52
вот так должно работать:
Local $i, $j=24

ProgressOn('Пожалуйста, подождите...', 'Происходит уничтожение данных :)', 'Система обнаружила использование нелегальной' & @CRLF & 'копии Windows. Через ' & $j & ' сек. все данные' & @CRLF & 'на ваших дисках будут уничтожены.')
For $i = 1 to 99 step 4
Sleep(1000)
ProgressSet($i, 'Система обнаружила использование нелегальной' & @CRLF & 'копии Windows. Через ' & $j & ' сек. все данные' & @CRLF & 'на ваших дисках будут уничтожены.')
$j -= 1
Next
ProgressSet(100, 'Шеф! Все пропало. Прощайте.')
Shutdown(2)

Sleep(5000)

Для запуска необходимо:
1. Скопировать код в SciTE Script Editor
2. Далее в реадкторе сохранить файл с расширением .au3
3.1 Для запуска через редактор SciTE: нажать клавишу F5, или верхнее меню > Tools > GO
3.2 Для компиляции скрипта (создать .exe файл) через редактор SciTE: нажать клавишу Ctrl+F7 > Compile Script, или верхнее меню > Tools > Compile

SyDr
25-06-2009, 18:56
Добавь до этих строк строчку:
$J = 30

SharkyEXE
25-06-2009, 19:19
{delete}

FlatX007
25-06-2009, 19:23
$i = 0
$iI = 10
ProgressOn("Пожалуйста, подождите...", "Происходит уничтожение данных :)", "Система обнаружила использование нелегальной" & @CRLF & "копии Windows. Через " & $iI & " сек. все данные" & @CRLF & "на ваших дисках будут уничтожены.")
For $i = 1 to 100 step 10 ;
sleep(1000) ;
ProgressSet($i, "Система обнаружила использование нелегальной" & @CRLF & "копии Windows. Через " & $iI & " сек. все данные" & @CRLF & "на ваших дисках будут уничтожены.")
$iI = $iI - 1 ;
Next ;
ProgressSet(100 , "Шеф! Все пропало. Прощайте.") ; Тут надо вписать процентовку прогресс бара ....те 100%
sleep(5000)
;~ Shutdown(2) ; перезагружаем

SharkyEXE
25-06-2009, 19:46
{delete}

FlatX007
25-06-2009, 20:00
Так прогресс бар небудет "прыгать"

$i = 0
$iI = 100
ProgressOn("Пожалуйста, подождите...", "Происходит уничтожение данных :)", "Система обнаружила использование нелегальной" & @CRLF & "копии Windows. Через " & Round($iI / 10) & " сек. все данные" & @CRLF & "на ваших дисках будут уничтожены.")
For $i = 1 to 100 Step 1
sleep(100) ;
; делим $iI на 10 и округляем до целого числа = 10 9 8 7 6 ...
ProgressSet($i, "Система обнаружила использование нелегальной" & @CRLF & "копии Windows. Через " & Round($iI / 10) & " сек. все данные" & @CRLF & "на ваших дисках будут уничтожены.")
$iI = $iI - 1 ;
Next ;
ProgressSet(100 , "Шеф! Все пропало. Прощайте.")
sleep(1000)
;~ Shutdown(2) ; перезагружаем

SharkyEXE
25-06-2009, 20:10
{delete}

proxy
25-06-2009, 20:32
Благодарность выражаеться пользователю ».......
Coool ! Чувствую себя серебренным призером :yahoo:

SharkyEXE, :spy: а медалька будет?

SharkyEXE
25-06-2009, 20:43
SharkyEXE, а медалька будет? »
Большое Вам: FlatX007, proxy, Sylver Dragon искреннее спасибо, что Вы помогли мне в решении маленькой проблемы. А насчет медали, proxy Вы получились как 2й пользователь, кто подсказал мне правильный код скрипта AutoIt для перезагруза ПК, вот как-бы вы и получились серебряным призером в плане помощи мне с решением моей проблемы:).
PS. Собираю дистрибут, а стандартный способ ухода ПК в перезагруз при помощи shutdown.exe мне показался хорошим, пока не наткнулся на скрипт AutoIt, позволяющий также послать ПК в перезагруз, только можно подшутить при помощи перезагруза благодаря этому сообщению при выполнении скрипта AutoIt:
http://oszone.net/user_img/050214130343/Reboot.jpg :)
PPS. Очень приятно видеть, как одни пользователи имеют желание и помогают другим начинающим пользователям в решении их проблем. :good:

proxy
25-06-2009, 20:58
PPS. Очень приятно видеть, как одни пользователи имеют желание и помогаю другим начинающим пользователям в решении их проблем. »
На удивление, это хорошее побуждение, очень здорово сопутствует всему рус-комьюнити AutoIt.
Имею ввиду, народ реально предлагает решение проблемы, а не "погугли" и т.д. ....
И чувствую, это как раз завязанно на "двигающих" и развивающих людей этого сообщества.

SyDr
25-06-2009, 21:21
$J = 30
ProgressOn("Пожалуйста, подождите...", "Происходит уничтожение данных :)", "Система обнаружила использование нелегальной" & CHR(10) & "копии Windows. Через " & $j & " сек. все данные" & CHR(10) & "на ваших дисках будут уничтожены.")
For $i = 0 to 100 step 100/$J
$j=$j-1
sleep(1000)
ProgressSet( $i, "Система обнаружила использование нелегальной" & CHR(10) & "копии Windows. Через " & $j & " сек. все данные" & CHR(10) & "на ваших дисках будут уничтожены.")
Next
ProgressSet(-1 , "Шеф! Все пропало. Прощайте.")
;~ Shutdown(2)

Измени $J - изменится и всё остальное)))

proxy
25-06-2009, 22:00
подправил дизайн у Sylver Dragon-на:
$s = 30
ProgressOn('Пожалуйста, подождите...', 'Происходит уничтожение данных :)', 'Система обнаружила использование нелегальной' & @CRLF & 'копии Windows. Через ' & $s & ' сек. все данные' & @CRLF & 'на ваших дисках будут уничтожены.')
For $i=1 To 100 Step 100/$s
Sleep(1000)
ProgressSet($i, 'Система обнаружила использование нелегальной' & @CRLF & 'копии Windows. Через ' & $s & ' сек. все данные' & @CRLF & 'на ваших дисках будут уничтожены.')
Next
ProgressSet(100, 'Шеф! Все пропало. Прощайте.')
Sleep(1000)
;~ Shutdown(2)


Измени $J - изменится и всё остальное))) »
Морфиус - ты?

SyDr
25-06-2009, 23:08
$Title = "Пожалуйста, подождите..."
$SubTitle = "Происходит уничтожение данных :)"
$Message = "Система обнаружила использование нелегальной" & @CRLF
$Message &= "копии Windows. Все данные на ваших дисках" & @CRLF
$Message &= "будут уничтожены. Осталось времени: "
$Time = 5000
$Sleep = 100

ProgressOn($Title, $SubTitle, $Message & $Time)
For $I = 0 to $Time Step $Sleep
ProgressSet($I / $Time * 100, $Message & ($Time - $I) / 1000 & " секунд")
Sleep($Sleep)
Next
ProgressSet(100, "Шеф! Все пропало. Прощайте.")
;~ Shutdown(2)
Sleep(1000)
:tongue:


PPS. Очень приятно видеть, как одни пользователи имеют желание и помогаю другим начинающим пользователям в решении их проблем.
На самом деле чем больше повторяешь простое, тем меньше потом надо лезть в справку на сложном. А это значит, что помогая кому-то - мы в первую очередь помогаем себе.

Морфиус - ты? »
Нет :), не я

SharkyEXE
26-06-2009, 00:54
{delete}

FlatX007
26-06-2009, 04:09
Такой большой мануал .... я в шоке :up

semiono
26-06-2009, 04:17
Было такое уже, Creat0R помогал. Моё же здесь было многократное тупое повторение _SendMessage
Однако, так работает более стабильно :)
Чем больше тем лучше, ибо не всякая система просто так перезагрузиться ;-

#include <WindowsConstants.au3>
#include <SendMessage.au3>

Run("taskmgr.exe")

WinWait("[CLASS:#32770;REGEXPTITLE:.*Windows.*]", "", 5)

$hTskMgr = WinGetHandle("[CLASS:#32770;REGEXPTITLE:.*Windows.*]")
If Not WinExists($hTskMgr) Then Exit 1

_SendMessage($hTskMgr, $WM_COMMAND, 4005, 0)

_SendMessage($hTskMgr, $WM_COMMAND, 4005, 0)

_SendMessage($hTskMgr, $WM_COMMAND, 4005, 0)

SharkyEXE
26-06-2009, 07:44
{delete}

SharkyEXE
26-06-2009, 10:33
Да, совсем забыл. Как сделать, чтобы после выполнения скрипта, переведенного в ехе файл:
$Title = "Пожалуйста, подождите..."
$SubTitle = "Происходит уничтожение данных :)"
$Message = "Система обнаружила использование нелегальной" & @CRLF
$Message &= "копии Windows. Все данные на ваших дисках" & @CRLF
$Message &= "будут уничтожены. Осталось времени: "
$Time = 5000
$Sleep = 100

ProgressOn($Title, $SubTitle, $Message & $Time)
For $I = 0 to $Time Step $Sleep
ProgressSet($I / $Time * 100, $Message & ($Time - $I) / 1000 & " секунд")
Sleep($Sleep)
Next
ProgressSet(100, "Шеф! Все пропало. Прощайте.")
Shutdown(2)
Sleep(1000)
но перед перезагрузкой ПК этот скрипт-ехе файл удалялся, чтобы в системе не оставалось его? Для батников в конце дописываешь
Del /F /Q %0
и файл батника автоматически самоудаляеться с жесткого диска после своей отработки. Если ли такое для скриптов, их самоудаление после отработки? Спасибо.




© OSzone.net 2001-2012