[VB] .exe in .exe

Pagina: 1
Acties:

  • Praetorian
  • Registratie: November 2001
  • Laatst online: 27-08 00:26
Okay, het zal misschien wel eens langs gekomen zijn, ik kon het iig niet vinden met de search (als het er wel is.. gooi deze maar op slot dan)


Ik heb een programma in VB, dat programma spreekt ook een .exe (DOS programma'tje) aan... nu is dat heel simpel aan te spreken met shell... maar wat ik heel graag zou willen realiseren is dat ik dat .exe in mijn programma integreren.

Dus dat die .exe uiteindelijk in mijn VB .exe komt... Is dit mogelijk? Zo nee, dan baal ik.

(Ben nu ff lunchen... 12:45 terug :Y) )

  • johnwoo
  • Registratie: Oktober 1999
  • Laatst online: 01-09 21:46

johnwoo

3S-GTE

Wat je zou kunnen doen is de DOS executable aan het eind van je eigen executable hangen, en zodra je hem nodig hebt je eigen executable openen en dat laatste stuk in een aparte file zetten en die runnen. Waarschijnlijk lukt het ook nog wel om hem er als resource in te stoppen. Maar ik denk niet dat het gaat lukken zonder een aparte executable te shellen.

4200Wp ZO + 840Wp ZW + 1680Wp NW | 14xIQ7+ + 1xDS3-L | MTVenusE | HWP1


  • glashio
  • Registratie: Oktober 2001
  • Laatst online: 25-08 11:17

glashio

C64 > AMIGA > PC

Je kan de 'DOS APP' .exe laden in een .res-string. En daarna als Resource file mee compileren. Wanneer je 'VB APP' gestart is , extract je de string naar temp.exe (outputfile).. en ExecuteShell opstarten.... hierna kan je de temp.exe weer verwijderen..

> Google Certified Searcher
> Make users so committed to Google that it would be painful to leave
> C64 Gospel
> [SjoQ] = SjoQing


  • Sponge
  • Registratie: Januari 2002
  • Laatst online: 28-08 17:06

Sponge

Serious Game Developer

Kan, en ook nog wel redelijk makkelijk :)

Je kunt de exe gewoon achter de huidige exe plakken (moet je doen nadat je vB programma dus gecompiled is) met

Put #filenumber, filesizevanjevbexe,bytearrayvanandereexe()

en achter deze put plak je nog een keer de originele filesize van je VB exe. Dan weet je dus waar de andere exe begint. Dan is de procedure als volgt:

1) Open je vb exe
2) Pak de laatste 4 bytes (long) van de exe, voor de start positie van de andere dos exe
3) gebruik get om de dos exe uit je vb exe te rippen (dus startpositie - (lengte file - 4 bytes))
4) opslaan, en draaien maar (de dos exe :Y)

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 21-08 17:14
't Kan misschien nog iets mooier, als het een single-segment DOS exe is. Win16/Win32 progjes hebben een DOS stub die een foutmelding geven. Die zou je kunnen vervangen door je DOS programma. Als je je eigen programma dan als DOS prog invoked dan krijg je dus dat DOS programma

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • glashio
  • Registratie: Oktober 2001
  • Laatst online: 25-08 11:17

glashio

C64 > AMIGA > PC

41.6C.6D.61.72 schreef op 20 augustus 2002 @ 14:05:
3) gebruik get om de dos exe uit je vb exe te rippen
Uhhh is je exe dan niet gelocked ?? als je hem 'Execute' (dus OpenFile) heb staan... volgens mij zijn dan leesrechten ook uitgesloten...

> Google Certified Searcher
> Make users so committed to Google that it would be painful to leave
> C64 Gospel
> [SjoQ] = SjoQing


  • Sponge
  • Registratie: Januari 2002
  • Laatst online: 28-08 17:06

Sponge

Serious Game Developer

Nee hoor :). Tenminste, dat heb ik nog nooit gehad (Win2k, Alle service packs), ik heb meerdere malen zulk soort programma's gemaakt, nooit met een probleem (VB runtime files in exe, midi files in exe, en die nog laten afspelen e.d.)
Pagina: 1