"А ты как его компилишь ? Может там есть возмоность подсунуть данные потоком и их компильнуть ?"
Компилю как обычно - меню File/ Make Project1.exe, то есть файл ресурсов, соответстенно, попадает внутрь скомплированной проги.
Потом при запуске этот ресурс загружаю в байтовый массив
например: A() = LoadResData(101, "Custom"). Потом из этого массива создаю на винте файл (экзешник), а уже потом его запускаю.
Все бы ничего, но просто само создание файла на диске занимает время. Я делаю это циклом.
Может есть более быстрый способ сбросить байтовый массив в файл?
У меня так:
fn = FreeFile
Open App.Path + "\My.exe" For Binary As fn
For i = 0 To UBound(A)
Put #fn, i + 1, A(i)
Next
Close fn
(Цикл выполняется секунды 4 (машина быстрая, создаваемый экзешник весит всего 246 Kило)).
Если есть варианты быстрее, то тогда не надо будет мучиться пусть создается лишь бы как-то побыстрее.
Если в памяти полный образ экзешника, то тебе придётся брать его PE-заголовок, там есть цифирь, указывающая на точку входа.
По сути, мой байтовый массив и есть полный образ экзэшника в памяти.
Похоже, ты прав. Здесь без ASM не обойтись, наверно, а API на таком уровне не знаю (если они вообще это могут) поэтому облом.

.
Хотя...
А можно подробнее, как найти точку входа экзешника, а там все-таки может получится "ткнуть" проц в нее, хотя пока не представляю как; VB - это же не ASM, е-мое.
Чувствую, что ответ может быть типа: возьми Softice или ему подобную прогу
Ладно. Думаю, кратко объяснить про точку входа для VB это будет сложняво, только если пример кода готовый был бы.
Поэтому остается надежда ускорить само создание файла

.
Блин!

Ну где-то видел ведь пример на VB где человек именно так делал (запускал экзешник из памяти).
