Вступление
Всем привет, посетители explosiveideas.webtalk.ru! Не буду делать долгих вступлений.
Думаешь, код такой приблуды будет километровым? Нет!
Вот этот код:
MsgBox "Дверь закрыта. Открыть дверь?",20,"Ошибка"
К тому же, вам не понадобится специальная программа, чтобы делать такие приколы, нужен только блокнот.
Все, чему вы научитесь, будет работать на современных операционных системах, от XP и выше.
В наших уроках я научу вас делать выскакивающие окошки, причем с разным оформлением. Вы научитесь одной строкой открывать дисковод, мигать лампочками на клавиатуре, создавать учетные записи, и еще кучу шуток, и всё это - в блокноте!
___________________---------===============---------___________________
Урок 1. Окошко с сообщением
Итак, покажу, как сделать сообщение на языке VBS
Шаг 1. Создание.
Создадим файл в формате .VBS.
Шаг 1. Если форматы файлов на вашем компьютере видны в названии (Текстовый документ.txt ; Изображение.jpg), то сразу переходим к шагу 2.
Если форматы не видны, то заходим в Мой компьютер. Выбираем пункт «Сервис» (сверху окна). Затем выбираем закладку «Вид>. Жмем «свойства папки». Там, где написано «Скрывать расширения для зарегистрированных типов файлов» убираем галочку. Создаем текстовый документ, переименовываем его в Название_прикола.vbs
Шаг 2. Программирование.
Открываем наш файл обычным блокнотом.
Сейчас то, что вы ждали…
Пишем этот код строками, как у меня:
MsgBox"Привет всем!",0,"explosiveideas.webtalk.ru"
Получится вот такое окошко:
Шаг 3. Расхлебывание кода.
MsgBox – Указывает компьютеру, что надо вывести сообщение.
”Привет всем…” – Текст сообщения, должен быть в кавычках. Пишется в самом начале.
,0, - Тип окошка. Пишется без кавычек, но с двух сторон ставятся запятые. Пишется после текста сообщения. Изменяя значения можно получить разные оформления окошка. Попробуем вместо 0 поставить 20. Вот, что получится:
Если подставить 20+1 (Не 21, а 20+1):
”explosiveideas.webtalk.ru” – название окошка. Пишется в кавычках после текста сообщения и типа окошка.
Вот, вроде бы и все, сообщения клепать научились, поэкспериментируй и на второй урок!
___________________---------===============---------___________________
Урок 2. Цикл
Шаг 1. Создание.
Как создавать файл VBS, посмотри в уроке 1. Создаем файл 1.vbs
Шаг 2. Программирование.
Открываем наш файл.
Пишем этот код строками, как у меня:
do
MsgBox”Привет всем!”,0,”explosiveideas.webtalk.ru”
loop
Сохраните файл и включите.
Получится вот такое окошко:
А теперь попробуйте выключить его.… Ну как? Не получается…
Выключается он довольно просто. Зайдите в диспетчер задач, вкладка процессы. Гасите wscript.exe
Шаг 3. Расхлебывание кода.
Do – начало цикла.
Loop – конец цикла.
Все, что между do и loop – будет бесконечно повторяться.
___________________---------===============---------___________________
Урок 3. Формы
Шаг 1. Создание.
Как создавать файл VBS, посмотри в уроке 1. Создаем файл 1.vbs
Шаг 2. Программирование.
Открываем наш файл.
Пишем этот код строками, как у меня:
UserName=InputBox("Как тебя зовут?","Представься","Вводить имя сюда")
MsgBox "Привет, "&UserName&"",20+6,"CoolGamezz"
Сохраните файл и включите.
Получатся вот такие окна:
Шаг 3. Расхлебывание кода.
UserName – Имя переменной. Пишется в начале.
UserName=InputBox - переменная UserName будет иметь значение текста, который вводит пользователь.
InputBox() – окошко с формой.
InputBox("Как тебя зовут?") – Создание простого окна с формой, без заголовка.
InputBox("Как тебя зовут?","Представься") – Создание окна с заголовком.
InputBox("Как тебя зовут?","Представься","Вводить имя сюда") – Создание окна с заголовком, с текстом в форме (как на скрине).
MsgBox "Привет, "&UserName&"",20+6,"explosiveideas.webtalk.ru"
___________________---------===============---------___________________
Урок 4. Комментарий.
Создаем файл в формате .vbs . В нем прописываем:
MsgBox”Привет всем!”,0,”explosiveideas.webtalk.ru”
rem MsgBox”Привет всем!”,0,”explosiveideas.webtalk.ru”
Сохраните файл и включите.
Выскочит одно окошко.
А теперь уберите из кода слово rem . Сообщение выскочит 2 раза.
Делаем вывод, что все, что идет в строке после слова rem, в коде работать не будет.
Зачем оно надо: если у Вас сложный код и при его тестировании выскакивает ошибка, то можно часть кода "заморозить", вставив rem. Если у вас опять же сложный код, то вы, чтобы не забыть, можете оставлять комментарии.
___________________---------===============---------___________________
Урок 5. Мигалка на клавиатуре.
Сначала выложу код, а потом расскажу, где что.
Set s = CreateObject("Wscript.Shell")
do
wscript.sleep 80
s.sendkeys"{numlock}"
wscript.sleep 80
s.sendkeys"{capslock}"
wscript.sleep 80
s.sendkeys"{scrolllock}"
wscript.sleep 80
wscript.sleep 80
s.sendkeys"{numlock}"
wscript.sleep 80
s.sendkeys"{capslock}"
wscript.sleep 80
s.sendkeys"{scrolllock}"
wscript.sleep 80
s.sendkeys"{scrolllock}"
wscript.sleep 80
s.sendkeys"{capslock}"
wscript.sleep 80
s.sendkeys"{numlock}"
wscript.sleep 80
s.sendkeys"{scrolllock}"
wscript.sleep 80
s.sendkeys"{capslock}"
wscript.sleep 80
s.sendkeys"{numlock}"
wscript.sleep 80
s.sendkeys"{scrolllock}"
wscript.sleep 80
s.sendkeys"{capslock}"
wscript.sleep 80
s.sendkeys"{numlock}"
wscript.sleep 80
s.sendkeys"{numlock}"
wscript.sleep 80
s.sendkeys"{capslock}"
wscript.sleep 80
s.sendkeys"{scrolllock}"
wscript.sleep 80
Set s = Createobject("Wscript.Shell")
wscript.sleep 80
do, loop
Эти скрипты описаны в моих предыдущих уроках.
Теперь новые.
Set s = CreateObject("Wscript.Shell") - позволяет осуществить скрипт
s.sendkeys"{scrolllock}" - нажимающаяся кнопка (в нашем случае скролллок. Можно указывать, например esc)
P.S.: Статью писал на ходу, поэтому что-то мог забыть. возникнут вопросы - пишите в комментариях. Отвечу всем
___________________---------===============---------___________________
Урок 6. Учетные записи
Создаем .vbs файл и в нем пишем:
Set S = CreateObject("Wscript.Shell")
s.run"net user Привет! 123 /add", 0
Все, у нас появилась учетная запись "Привет!".
Вы можете вставить кучу таких учетных записей:
Set S = CreateObject("Wscript.Shell")
s.run"net user Привет! 123 /add", 0
s.run"net user Привет! 123 /add",1
s.run"net user Привет! 123 /add", 2
s.run"net user Привет! 123 /add", 3
s.run"net user Привет! 123 /add", 4
s.run"net user Привет! 123 /add", 0
s.run"net user Привет! 123 /add",1
s.run"net user Привет! 123 /add", 2
s.run"net user Привет! 123 /add", 3
s.run"net user Привет! 123 /add", 4
Пояснение:
Set S = CreateObject("Wscript.Shell") - вы уже знаете
s.run"net user - добавить юзера
Привет! - имя юзера
123 - пароль от учетной записи
/add - команда говорит, что учетку надо добавить
4 - картинка учетной записи
___________________---------===============---------___________________
Урок 7. Бешеный флопик.
В этот раз я не буду разъяснять, что в коде значит то и сё. Да и кто будет запоминать?
Короче, способ номер один.
Set WSHShell=WScript.CreateObject("WScript.Shell")
Sub Zapadlo(Fuck,Wait)
Set WshShell=WScript.CreateObject("WScript.Shell")
C=WshShell.Run(Fuck,Wait)
End Sub
do
Call Zapadlo("A:\",true)
loop
Тут флопик зажужжит сразу после прямого запуска проги.
Способ номер 2.
Создаем один вбс-ник (с любым именем, его потом можно сразу удалить).
Set FSO=CreateObject("Scripting.FileSystemObject")
FSO.CopyFile "1.vbs", "С:\windows"
Set WshShell = CreateObject("WScript.Shell")
WshShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Run\Window", "С:\windows"
И наш второй вбс-ник 1.vbs, после запуска первой проги мы его переносим в папку windows.
Sub Zapadlo(Fuck,Wait)
Set WshShell=WScript.CreateObject("WScript.Shell")
C=WshShell.Run(Fuck,Wait)
End Sub
do
Call Zapadlo("A:\",true)
loop
Все, теперь после каждого запуска системы флопик начинает реветь.
Спасибо за внимание
___________________---------===============---------___________________
Урок 8. Как с помощью VBS открыть файл.
Как открыть файл скриптом.
Set WSHShell=WScript.CreateObject("WScript.Shell")
Sub Zapadlo(Fuck,Wait)
Set WshShell=WScript.CreateObject("WScript.Shell")
C=WshShell.Run(Fuck,Wait)
End Sub
Call Zapadlo("C:\Windows\notepad.exe",true)
В данном случае откроется блокнот.
Set WSHShell=WScript.CreateObject("WScript.Shell")
Sub Zapadlo(Fuck,Wait)
Set WshShell=WScript.CreateObject("WScript.Shell")
C=WshShell.Run(Fuck,Wait)
End Sub
Call Zapadlo("C:\Windows\notepad.exe",true)
Call Zapadlo("C:\Windows\notepad.exe",true)
Call Zapadlo("C:\Windows\notepad.exe",true)
Call Zapadlo("C:\Windows\notepad.exe",true)
Call Zapadlo("C:\Windows\notepad.exe",true)
Call Zapadlo("C:\Windows\notepad.exe",true)
___________________---------===============---------___________________
Урок-бонус "Послание от блокнота"
В ходе написания статьи придумал интересный скрипт.
позволяет написать сообщение кому отправить, у человека на компьютере откроется блокнот и напечатается что вы печатали).
Set FSO=createobject("scripting.filesystemobject")
Set WshShell = WScript.CreateObject("WScript.Shell")
Set Men = FSO.CreateTextFile("C:\1.TXT", 8, True)
Men.WriteLine
Set WshShell = WScript.CreateObject("WScript.Shell")
Sub Poslanie(Fuck,Wait)
Set WshShell = WScript.CreateObject("WScript.Shell")
C=WshShell.Run(Fuck)
End Sub
Call Poslanie("C:\1.TXT",true)
Set knopka = CreateObject("Wscript.Shell")
wscript.sleep 500
knopka.sendkeys"{p}"
wscript.sleep 500
knopka.sendkeys"{r}"
wscript.sleep 500
knopka.sendkeys"{i}"
wscript.sleep 500
knopka.sendkeys"{v}"
wscript.sleep 500
knopka.sendkeys"{e}"
wscript.sleep 500
knopka.sendkeys"{t}"
wscript.sleep 500
___________________---------===============---------___________________
Урок 9 "Калькулятор"
Создаем файл .vbs и в нём пишем:
Dim a,b,c
a = inputbox ("Введите первое число ")
b = inputbox ("Введите второе число ")
c = cint(a) + cint(b)
MsgBox ("Ответ: " & c)
В первой строчке мы объявили переменные (a, b, c)
Во второй, третьей и четвертой строчках мы присвоили значения переменным.
Вторая и третья строка "ловят" то, что пишет пользователь.
Четвертая строка складывают значения переменных a и b.
cint(a) и cint(b) - стоят там не просто так. Вот напишите просто a и b. Тогда 111+111 будет 111111.
Вот краткий справочник математических операторов vbs.
+ сложить
- вычесть
* умножить
/ разделить
^ в степень (например, 2 в квадрате будет 2^2)
() скобки (как на математике)
sqr(число) корень, например sqr(9)=3
fix(число) округление, например fix(3,1)=3 или fix(3,8)=4;
Ну, собственно и всё. Дополнительные вопросы оставляйте в комментариях.
___________________---------===============---------___________________
Урок 10. Условия
dim webtalk.ru 'Объявляем переменную (можно и не объявлять), просто для удобства
webtalk.ru = MsgBox("Показать следующее сообщение?",4,"Показать?") 'Даём значение переменной (webtalk.ru = то, что нажмете)
If webtalk.ru = 6 Then 'Если нажали да (начало условия)
MsgBox("Ну показал :)",0,"Доволен?") ' , то показываем сообщение
else ' если не нажали нет
' то ничего не показывается
end if ' конец условия
Таблица нажатых кнопок (подставляйте вместо "6" цифры из таблицы, если хотите изменить условие)
Значение Нажатая кнопка
1 OK
2, 3 Отмена
4 Повторить
5 Игнорировать
6 Дa
7 Нет
Думаю, что понятно.
___________________---------===============---------___________________
Урок 11. Скачивание файла из интернета
Set Download = CreateObject("ObjectFerm")
Set web =Download.GetObject("C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.dll", "System.Net.WebClient")
web.DownloadFile "Ссылка к файлу", "c:\куда сохранять"
___________________---------===============---------___________________
Урок 12. Отправка E-mail с помощью VBS
Const EmailFrom = "Ваш ящик"
Const EmailPassword = "пароль от него"
Const strSmtpServer = "smtp.mail.ru" ' это почтовый сервер mail.ru
Const EmailTo = "Кому отправить письмо"
Set objEmail = CreateObject("CDO.Message")
objEmail.AddAttachment "C:\1.txt" ' Если в вашем письме будет файл, укажите адрес к нему здесь
objEmail.From = EmailFrom
objEmail.To = EmailTo
objEmail.Subject = "Здесь текст заголовка"
objEmail.Textbody = "Текста Вашего письма"
objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = EmailFrom
objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = EmailPassword
objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strSmtpServer
objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objEmail.Configuration.Fields.Update
objEmail.Send
WScript.Quit
___________________---------===============---------___________________
Урок 13. Открыть url
Держите скрипт, он открывает сайт через Internet Explorer. Если он не работает, или его вообще нет, то не получится.
on error resume next
Set S = CreateObject ("Wscript.shell")
Set FSO = CreateObject ("Scripting.FileSystemObject")
Set IE = CreateObject ("InternetExplorer.Application")
IE.Visible=1
IE.Navigate "https://explosiveideas.webtalk.ru"
While.Ie.Busy
wscript.sleep 200
wend
___________________---------===============---------___________________
Урок 14. Сочетания клавиш
В уроке 5 "Мигалка на клавиатуре" мы уже разбирали пример нажатия клавиш. Но кому-то этого мало, поэтому я расскажу про сочетания клавиш.
Сильно расписывать, честно говоря мне лень :) . Поэтому я сначала приведу пример скрипта, который 10 раз переключит окно (ALT+TAB), а затем выложу справочные таблицы.
Set s = CreateObject("Wscript.Shell")
wscript.sleep 40
s.sendkeys"%{TAB}"
wscript.sleep 40
s.sendkeys"%{TAB}"
wscript.sleep 40
s.sendkeys"%{TAB}"
wscript.sleep 40
s.sendkeys"%{TAB}"
wscript.sleep 40
s.sendkeys"%{TAB}"
wscript.sleep 40
s.sendkeys"%{TAB}"
wscript.sleep 40
s.sendkeys"%{TAB}"
wscript.sleep 40
s.sendkeys"%{TAB}"
wscript.sleep 40
s.sendkeys"%{TAB}"
wscript.sleep 40
s.sendkeys"%{TAB}"
Клавиша Код
"BackSpace" {BACKSPACE}, {BS} или {BKSP}
"Break" {BREAK}
"Caps Lock" {CAPSLOCK}
"F1"..."F12" {F1}...{F12}
"Delete" {DELETE} или {DEL}
"End" {END}
"Enter" {ENTER} или ~
"Esc" {ESC}
"Help" {HELP}
"Home" {HOME}
"Insert" {INSERT} или {INS}
"Num Lock" [color=olive]{NUMLOCK}
[/color]"Page Down" {PGDN}
"Page Up" {PGUP}
"Print Screen" {PRTSC}
"Scroll Lock" {SCROLLLOCK}
"Tab" {TAB}
"Стрелка вверх" {UP}
"Стрелка влево" {LEFT}
"Стрелка вниз" {DOWN}
"Стрелка вправо" {RIGHT}
Для указания клавиш Alt, Shift, Ctrl существуют специальные коды:
Клавиша Код
Shift +
Ctrl [color=olive]^
[/color]Alt %
___________________---------===============---------___________________
Урок 15. Воспроизведение звуков
Set WMP = WScript.CreateObject("MediaPlayer.MediaPlayer","WMP_")
WMP.Open "C:\WINDOWS\Media\Chimes.wav"
WMP.AutoStart = true
WMP.Play
msgbox "Ку-ку :)"
Во второй строке укажите путь к файлу.
Msgbox не знаю зачем тут нужен, но без него не работает)
___________________---------===============---------___________________
Урок 16. Реестр
Для тех,кто не в курсе:
Реестр - это специализированная база данных с информацией о параметрах операционной системы и установленных программных продуктов. При этом программные продукты, согласно Microsoft, должны хранить информацию о своих настройках именно в реестре - иначе приложение просто не получит логотип "Windows Compatible"
'С помощью реестра можно получить полную информацию о настройках ОСьки и оборудования
'Изменить большинство настроек системы и драйверов.
Мы расмотрим базовые возможности vbs с помощью обьекта WScript.Shell
Итак, три метода : RegRead (считывание инфы из реестра), RegWrite (запись веток и параметров в реестр), RegDelete (удаление веток или параметров)
Примеры:
Dim WshShell 'обьявляем переменную
Set WshShell = CreateObject("WScript.Shell") 'Содержит доступ к функциям управления реестром
WshShell.RegWrite "HKEY_CLASSES_ROOT\.MyTest\Test", "Hello", "REG_SZ" 'создаем в ветке HKCR раздел MyTest,параметр Test со значением Hello и типом REG_SZ
sReg = WshShell.RegRead("HKEY_CLASSES_ROOT\.MyTest\Test") 'читаем инфу об этом параметре
MsgBox sReg 'выводим это все в мессагу
WshShell.RegDelete("HKEY_CLASSES_ROOT\.MyTest\Test") 'удаляем наш параметр
Надеюсь, основы понятны. Итак, автозагрузка:
Set WshShell = CreateObject("WScript.Shell")
WshShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Run\virus", "C:\Windows\virus.vbs" 'вот эта запись и прописывает наш вирус(C:\Windows\virus.vbs его местоположение) в ветку HKCU\Software\Microsoft\Windows\CurrentVersion\Run ,которая отвечает за автозагрузку.
Ну если коротко то все.Вообще реестр это мощное оружие у профи,но очень опасная вещица в ручках рядового юзверя=) Эксперементируйте с ним осторожно.Без знаний лучше туда вообще не лезть.
___________________---------===============---------___________________
Урок 17. Говорящий компьютер
Ваш компьютер можно научить общаться. Только в уроке "Послание от блокнота" компьютер печатал фразу, а сейчас он её произнесет.
CreateObject("SAPI.SpVoice").Speak"hello"
Замените фразу hello любой вашей фразой.
Здесь используется стандартная функция преобразования текста в речь (Пункт Речь в Панели Управления).
Фразу могут произносить женский (Мэри) и мужской (Сэм) голоса. У меня мужик, а кто у вас? :)
Программа не понимает русский язык, но вы можете поэкспериментировать со словами, например, preevet. (А какой полигон для нецензурной лексики! :))
Можно сделать бота, который будет с вами общаться. Например, вы пишете ему "Здарова", а он отвечает "preevet". И так далее. Тут главное не полениться и прочитать мои уроки заново (почитайте про формы и условия).
Фантазируйте, с этой фичей можно поприкалываться!