Was ändert der Linker wenn man ein Projekt ohne KonsolenFenster compiliert? :/
-
Guten Tag
Also, ich hab ein kleines Problem. Ich meiner .exe ist als Resource eine weiter .exe hinterlegt die mein Programm dann ausführt.
Dazu erstellt es einen weiteren Prozess von sich selbst im Suspended Modus, schreibt da dann das Image der .exe aus der Resource rein und resumed dann
denn Prozess -> die exe aus den Resourcen läuft ohne Probleme.Wenn mein eigenes Programm jetzt aber als Win32 Anwendung ( oder einfach beim Linker "without ConsoleWindow" ausgewählt wird ) compiliert wird hat auf einmal
auch das Programm aus den Resourcen kein Fenster mehr?!
Ich erstelle den Prozess in den ich das fremde File injecte mit SW_SHOW in der Startupinfo.Meine Frage ist also was verändert der Linker wenn er kein Konsolen Window erstellen soll und wie schaff ichs das die .exe aus den Resourcen ein Fenster bekommt?

Schon mal vielen Dank
-
Oh man, tut mir schrecklich Leid

Ich war grade dabei eine Lösung auszuprobieren als ich den Thread geschrieben hab
weil die irgendwie nicht so wollte.Naja jetzt hab ich den Fehler beseitigt und siehe da, es funktioniert.
Man muss im Ursprungs-Programm einfach ein Fenster erstellen, auch wenn man es
nicht anzeigen lässt...Würde aber trotzdem noch gern, rein aus Neugierde, wissen wieso das jetzt aufeinmal so funktioniert

Und nochmal sorry das ich hier leicht überstürzt geschrieben habe

-
Das OS erzeugt keine Console, wenn es eben kein Conmsolen Programm gibt.
Zudem ist das Programm ja baraits im Speicher und geladen. Du ballerst einfachnur anderen Binätcode drüber. Woher soll das OS das nun wiesen?Verwende AllocConsole...
-
Neine ne konsole solls ja auch nicht erzeugen.
Aber wenn das Programm aus den Resourcen ein Normales Windows Fenster generiert wird das ja auch nicht angezeigt?

mfg
-
Ich blick dein Problem grad nicht aber eine Dialogresource hat ein Visible-Flag.
-
Ich glaub du weißt nicht wie ich das mit den Resourcen meine oder?

Ich hab da ne komplette exe drinnen die ich dann ausführ indem ich einen
neuen Prozess erstell und sie da reinschreib.mfg