DOS-Fenster unterdrücken



  • Ja was er fordert geht nicht. Also ist es sinnlos ihm Code zu geben der nicht seinen Forderungen entspricht. 🙂



  • quote schrieb:

    Ja was er fordert geht nicht. Also ist es sinnlos ihm Code zu geben der nicht seinen Forderungen entspricht. 🙂

    So ist es nicht realisierbar, das stimmt. 👍 Aber damit kommt man am nähesten dran :p



  • Es geht nur *sinnvoll* duch die passenden Linker-Einstellungen (/SUBSYSTEM:WINDOWS)!
    Alles andere was hier erzählöt wird ist Blödsinn.



  • Jochen Kalmbach schrieb:

    Es geht nur *sinnvoll* duch die passenden Linker-Einstellungen (/SUBSYSTEM:WINDOWS)!
    Alles andere was hier erzählöt wird ist Blödsinn.

    Dann fordert der Linker aber ne WinMain! Das wurde hier bereits erwähnt!



  • CodeFinder schrieb:

    Jochen Kalmbach schrieb:

    Es geht nur *sinnvoll* duch die passenden Linker-Einstellungen (/SUBSYSTEM:WINDOWS)!
    Alles andere was hier erzählöt wird ist Blödsinn.

    Dann fordert der Linker aber ne WinMain! Das wurde hier bereits erwähnt!

    Also Visual C++ kommt auch mit main() klar in ner Windows Subsystem Anwendung. :p



  • nein doch nicht habs mit was anderes verwechselt. aber irgendwas war da. oder war es WinMain in Konsolenanwendung.



  • CodeFinder schrieb:

    Jochen Kalmbach schrieb:

    Es geht nur *sinnvoll* duch die passenden Linker-Einstellungen (/SUBSYSTEM:WINDOWS)!
    Alles andere was hier erzählöt wird ist Blödsinn.

    Dann fordert der Linker aber ne WinMain!

    Und was soll daran ein Problem sein? Der OP *will* doch explizit eine Codeänderng durchführen! Oder hab ich das erste Post falsch gelesen...



  • Hm habs ausprobiert (Visual C++ 6.0):

    #include <iostream>
    
    int main()
    {
    	return (0);
    }
    

    Error Output schrieb:

    --------------------Konfiguration: CppTestumgebung - Win32 Release--------------------
    Kompilierung läuft...
    CppTestumgebung.cpp
    Linker-Vorgang läuft...
    LIBC.lib(wincrt0.obj) : error LNK2001: Nichtaufgeloestes externes Symbol _WinMain@16
    Release/CppTestumgebung.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise
    Fehler beim Ausführen von link.exe.

    CppTestumgebung.exe - 2 Fehler, 0 Warnung(en)

    und mit Visual C++ Express Edition 2005:

    Debug Output schrieb:

    ------ Erstellen gestartet: Projekt: CppTestumgebung, Konfiguration: Debug Win32 ------
    Kompilieren...
    CppTestumgebung.cpp
    Manifest in Ressourcen wird kompiliert...
    Verknüpfen...
    LIBCMTD.lib(wincrt0.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_WinMain@16" in Funktion "___tmainCRTStartup".
    .\Debug/CppTestumgebung.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.
    Browseinformationsdatei wird erstellt...
    Microsoft Browse Information Maintenance-Programm Version 8.00.50727
    Copyright (C) Microsoft Corporation. All rights reserved.
    Das Buildprotokoll wurde unter "...\BuildLog.htm" gespeichert.
    CppTestumgebung - 2 Fehler, 0 Warnung(en)
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========

    Oder reden wir hier noch eine andere Option *verwirrt sei*



  • Jochen Kalmbach schrieb:

    Oder hab ich das erste Post falsch gelesen...

    Es geht doch nur um ein "DOS Fenster", also ne main()!

    Naja ...die Frage war aber auch seehr undeutlich/unverständlich gestellt.



  • ach sorry was ich meinte war völlig daneben.
    in einer konsolenanwendung akzeptiert visual c++ z.b. folgende main-Funktion

    int main(double d, int i, char c, float f); 😮 😮 😮

    sorry for offtopic



  • CodeFinder schrieb:

    Es geht doch nur um ein "DOS Fenster", also ne main()!

    😕
    Ja, es geht um ein DOS (oder besser Consolen-) Fenster, das er nicht haben will.
    Also geht es um kein DOS-Fenster. :p



  • @vc++ user:
    Jo np.

    @Jochen:

    Jochen Kalmbach schrieb:

    Also geht es um kein DOS-Fenster. :p

    Hähä 😃 , Was nicht passt wird passend gemacht 🤡



  • Sorry wenn meine Anfrage etwas undetailiert ist!

    Folgendes:

    bool uebergabe(char* ip)
        {
         //   bool return=false;   
            char pfad[200]={"ftp -v -s:s:\\SFM_technik\\testprojekt\\ftp.tmp "};
    
            strcat(pfad,ip);
    
            system(pfad);
    
            return(0);
        }
    

    Die Funktion an sich tut ja einwandfrei, jedoch wird eine "Eingabeauforderung" sichtbar! Dieses Fenster soll nun unterdrückt werden!
    Es sei denn es gäbe eine Möglichkeit eine eigene Funktion (zb: shellx();) zu schreiben welche beinhaltet dass das Fenster nicht sichtbar wird!

    In VB hab ich das schon entdeckt. Da geht das auch "relativ" einfach! Jedoch krieg ich das net in meim C++ unter!

    Also vielen Dank nochmal





  • Nimm CreateProcess mit dwCreationFlags gesetzt auf CREATE_NO_WINDOW



  • Hmm,

    bin gerade noch in der Ausbildung!

    Werd jetzt demnächst in der Schule informiert wie das geht!
    Wenn das Thema beendet ist, werd ich die Lösung hier gerne präsentieren!!

    Danke bis dahin!

    cYa


Anmelden zum Antworten