Как из VB запустить программу не указывая путь к ее файлу

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

Как из VB запустить программу не указывая путь к ее файлу

Сообщение Сергей Юдин » 08.06.2003 (Вс) 12:31

Есть программа, которая откомпилирована,
но не записана на диск, а находится в памяти компьютера как текст.

Shell и ShellExecute требуют указать путь к файлу, но его еще нет на диске и следовательно нет пути

Но сам файл существует. Например:
prog=prog1 & prog2
где prog1 и prog2 - две половинки откомпилированного файла (или считанные с диска или набранные в текст.боксе или ...)
Как теперь запустить prog?

Mirus
Бывалый
Бывалый
 
Сообщения: 259
Зарегистрирован: 09.12.2001 (Вс) 18:25
Откуда: Russia

Сообщение Mirus » 08.06.2003 (Вс) 13:55

Сохранить prog1 и prog2 в файл и запустить
Mirus

Сергей Юдин
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 08.06.2003 (Вс) 11:06
Откуда: Волгоград

Сообщение Сергей Юдин » 08.06.2003 (Вс) 22:16

В том то и проблема что записывать файл нельзя (по
условиям задачи)

TRUST
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 192
Зарегистрирован: 22.08.2002 (Чт) 20:24
Откуда: Orel

Сообщение TRUST » 08.06.2003 (Вс) 23:00

А если попробовать через Microsoft Scripting Runtime?
Кто юзал мой аккаунт и весь его выюзал?!!

Yurich
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 675
Зарегистрирован: 05.03.2003 (Ср) 3:43
Откуда: DONBASS/Gorlovka

Сообщение Yurich » 08.06.2003 (Вс) 23:34

Но сам файл существует...!?

Понятие "Файл" подразумевает наличие копии данных на диске. Данные в памяти - это еще не файл и для системы они абсолютно не видны (кроме, как, в плане объема свободного пространства). Здесь не понятна фраза (или считанные с диска или набранные в текст.боксе или ...). Кроме того по условиям задачка намного ближе к уровню СИ (или даже ASM), чем к Бейсику.

Dagobert
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 141
Зарегистрирован: 21.12.2002 (Сб) 6:48
Откуда: Russia

Сообщение Dagobert » 09.06.2003 (Пн) 4:11

Попробуй, CreateThread:
Код: Выделить всё
Declare Function CreateThread Lib "kernel32" Alias "CreateThread" (lpThreadAttributes As SECURITY_ATTRIBUTES, ByVal dwStackSize As Long, lpStartAddress As Long, lpParameter As Any, ByVal dwCreationFlags As Long, lpThreadId As Long) As Long
.

lpStartAdress - это адрес процедуры вызываемой напрямую из памяти.
Есть пример регистрации ActiveX DLL по той-же схеме.

http://www25.brinkster.com/msvbasic/?p=plugins&s=misc
P.S. А не вирус ли пишете, дорогой коллега? Мне эта тема интересна.

Сергей Юдин
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 08.06.2003 (Вс) 11:06
Откуда: Волгоград

Сообщение Сергей Юдин » 09.06.2003 (Пн) 23:48

Успокойтесь коллега
Я пишу не вирус, а защиту для программы и хочу это
сделать, как протекторы, которые запускают программу
после снятия защиты.
А вирусы надо писать на ассемблере.
Я правда видел один на BASIC, но если писать на VB
то это будет не маленький вирус, а большая корова.

Dagobert
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 141
Зарегистрирован: 21.12.2002 (Сб) 6:48
Откуда: Russia

Сообщение Dagobert » 10.06.2003 (Вт) 4:27

Почему большой. К примеру, если бы I-Worm.Lentin.m был бы написан на VB. да ещё и UPX'ом сжат, был бы меньше реально существующего.
Кстати, хотелось бы знать моя подсказка пригодилась, или уже знал такой вариант?


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

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

Сейчас этот форум просматривают: AhrefsBot и гости: 4

    TopList  
cron