Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Консольная прога внутри моего exe-шника


Автор: Voldemar2004 31.3.2005, 20:09
Хочу запихать exe-консольную программу внуть своей проги, но так чтобы обращение к консольным командам этой проги выполнялось через мою прогу.

Автор: cardinal 31.3.2005, 20:17
Ну так засунь ее в прогу (ресурсы), а когда будет нужна временно выкладывай, а потом стирай...

Автор: efedron 1.4.2005, 14:09
Voldemar2004
по моему тебе надо просто начинать выполнение соего приложения с sub main, где будет написано что-то вроде:
Код

Sub Main()
Select Case Command$
    case "/opt1"
        'some code
        end
    case "/opt2"
        'some code
        end
End Select
End Sub

..или я не прав??

Автор: efedron 1.4.2005, 15:06
Voldemar2004
а вот тебе примерчик как экзешник заюзать:
(предварительно загрузив vb6 resource editor в меню Add-Ins->Add-In Manager, загрузив в него любой .res-файл и удалив из него все ненужное жмешь add custom resource и добавляешь свое консольное приложение)
Код

...
dim sExe as string
sexe=string$(680096,chr$(0)) 'задаешь длину переменной, соответствующую размеру твоего экзешника в байтах (680096-размер программы notepad.exe в windows server 2003 взято для пробы)
sexe=strconv(loadresdata(101,"CUSTOM"),vbunicode) ' загружаешь в переменную свой ресурс (Type="CUSTOM", id=101) и конвертируешь переменную, т.к. внутреннее представление строк в VB - Unicode
open app.path & "\tmpexe.exe" for binary as #1 'создаешь временный экзе-файл
put #1,,sexe 'записываешь туда сам экзешник
close #1 'закрываешь файл
...

далее выполняешь свой файл как хочешь (CreateProcess, ShellExecute, WinExec или на худой конец басиковским shell'ом) и, если нужно, после выполнения удаляешь.
Удачи ;)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)