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 😉


  • Mod

    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


Anmelden zum Antworten