in DOS vom Programm aus Link ins Internet?



  • mal genau erklären:

    ist hier die dosbox am start ? (was ich vermute) oder "richtiges dos"??

    welcher compiler?

    so long 😉

    ps: ich bin davon ausgegangen, daß du mit dosbox unter windows arbeitest, damit du den ie überhaupt ansprechen kannst...

    [ Dieser Beitrag wurde am 02.01.2003 um 15:45 Uhr von elise editiert. ]



  • ich arbeite unter windows mit dem Compiler/dos-styled IDE "Borland C++ Dos", ganz ähnlich wie Turbo Pascal aufgebaut, also mit blauem Codefenster, etc. Ich arbeite also nicht unter Dos, sondern mit "Borland C++ Dos", wobei die Exe-dateien aber trotzdem noch von Win9x ausgeführt werden können. Wie rufe ich nun den IE aus so einem Programm heraus aus?



  • HILFEEEEEEEEEEEEEEEEEEEEEEE; ELIIIIIIIIIIIIIISEEEEEEEEEEEEEEEE?



  • Was muss ich jetzt in die Routine schreiben, damit ich eine bestimmte Homepage mit dem Standardbrowser öffnen lassen kann? ShellExecute geht nicht, und Elises andere Vorschläge taugen insofern leider auch nichts, da man den Pfad vom Browser direkt angeben muss, und der mir natürlich nicht für alle Personen bekannt ist.



  • entweder du modelst dein programm um in ein windowsprogramm (konsole unter visual studio zum bleistift ist eins..) und verwendest ShellExecute

    oder du bist - wie ich mit meinem djgpp- ohne window.h, dann könntest du im allergrössten notfall 😉 noch

    system("start http://www.c-plusplus.net" );

    machen, dann nimmt er die aktuelle verknüpfung des compis für browser.

    aber alles nur unter windows, NICHT unter dos , logo 😉

    wie es dann mit execl noch gehen könnte, daß er die verknüpfung nutzt, weiß ich nicht.

    und hör auf so laut zu reden.



  • Original erstellt von elise:
    **...
    wie es dann mit execl noch gehen könnte, daß er die verknüpfung nutzt, weiß ich nicht.

    und hör auf so laut zu reden.**

    Ich hab' das mal über Start->Ausführen versucht:

    cmd.exe /c "start www.ix.de"
    

    Ich könnte mir vorstellen, dass das auch mit anderen Start-Funktionen funktioniert.

    btw: Die Geschichte mit 'start' zu machen ist echt clever...



  • C:\>start www.mady.de
    Die Datei "www.mady.de" kann nicht gefunden werden.

    C:\>cmd /c "start www.mady.de"
    Die Datei "www.mady.de" kann nicht gefunden werden.

    😕 😕 :p



  • Die Sache funktioniert natürlich nur in der DOS-Konsole.

    cmd.exe gibt's erst ab WinNT. Bei Win9x musst Du "command.com /c" schreiben. Sorry.

    EDIT: start gibt's IMHO auch erst seit WinNT ?!?

    [ Dieser Beitrag wurde am 03.01.2003 um 11:34 Uhr von mady editiert. ]



  • Offenbar scheint hier nicht ganz klar zu sein, was möglich ist und was nicht:

    1. Fall:

    Q: Du arbeitest unter Windows, und versuchst dort das "integrierte DOS" (keinem weiter sagen ;)) also die Konsole aufzurufen und über sie eine Website aufzurufen die im Standardbrowser startet.

    A: Entweder du benützt wie oben gezeigt:

    #include <windows.h>
    
    ShellExecute ( NULL , "open" , "http://www.c-plusplus.net/" , NULL , NULL , SW_SHOW );
    

    Solange Websites mit dem Standardbrowser verbunden sind, wird dieser auch aufgerufen.

    Oder du benützt system:

    system ( "start http://www.c-plusplus.net" );
    

    2. Fall:

    Q: Du arbeitest unter echtem DOS und versuchst von dort auf das Internet zuzugreifen.

    A: Keine Antwort möglich, bevor du uns nicht sagst, wie du von dort aus auf das Internet zugreifst.

    ---

    Wenn hier nicht bald geklärt wird um was es überhaupt geht, schließ ich hier...

    MfG SideWinder



  • Das ist es ja eben. Ich habe Windows XP und besitze cmd.exe und somit auch start. Ich habe mit Start/Ausführen/cmd.exe eine Konsole geöffnet und die oben genannten Befehle eingegeben, und dann kamen die oben genannten Fehlermeldungen *gg*



  • @elise: Sorry, meine Nerven waren am Ende.
    @SideWinder: Auch nochmal sorry; ich habe erst vor zwei Tagen wieder (seite Jahren!) zum ersten Mal "Borland C++ Dos" geöffnet um an einem alten Spiel einen Homepage-Link beizufügen. Da ich eben so lange nicht mehr mit gearbeitet habe, habe ich jetzt Probleme, meine Frage klar zu definieren, da ihr anscheind nicht wisst, was "Borland C++ Dos" oder "Turbo Pascal" (im Grunde das Gegenstück von Borland C++ Dos, nur für Pascal) ist?

    Ich tippe, dass Pascal der Variante 1 von SideWinder zutrifft, also in der Windowsumgebung mit Dos; so mache ich das auch.

    system( "start http://c-plusplus.net" ); gibt sogar keinen syntaxerror zurück, also scheint es bekannt zu sein; auch die hilfe sagt folgendes als Beispiel: system( "dir" );

    => Das start kommt da nicht drin vor. Wenn ich jetzt den Code system( "start http://c-plusplus.net" ); so einfüge, wird nur leider nichts geöffnet, nur das Programm geschlossen 😞



  • Der genaue Fehler ist: Die Anwendung wird aufgrund eines ungültigen Zugriffs geschlossen. Alle Programme werden geschlossen und der Computer wird neu gestartet *SCHEIßE*



  • teste bitte mal einfach nur das folgende in einem leeren projekt:

    #include <process.h>
    
    int main()
    {    
        system("start http://www.c-plusplus.net" );
        return 0;
    }
    

    ich teste es mal eben mit dem djgpp



  • funzt mit dem djgpp

    nimm statt prozess die stdlib 😉



  • Turbo Pascal kenn ich sehrwohl Versionen 5.5 und 7.0 sind mir sogar sehr gut bekannt -> Grund ich lerne grade Turbo Pascal ;).

    Nur was ich nicht verstehe: Warum benützt du einen DOS-Compiler um ein Win32-Programm für Windows und Windows' Konsole zu benützen?

    -----

    Versuch mal elises Vorschlag, sollte der funktionieren, schau ob du vielleicht einen logischen Fehler hast?!?

    Sollte er nicht funktionieren, und sich das Programm erneut einfach abdrehen, würde ich es vielleicht mit ShellExecute versuchen.



  • BTW: Beautiful Morning, bei mir unter Win2k funktioniert folgendes:

    Start->Ausführen->cmd->"start http://www.c-plusplus.net".

    Eventl. ist bei dir der Standardbrowser falsch verlinkt?!

    MfG SideWinder



  • @<kffk>: Mit dem Compiler kannst du dein Vorhaben vergessen, denn: dein Programm ist ein DOS-Programm - kein Win32-Prog. D.h., du kannst es unter DOS starten, wo du sowieso keinen 2. Prozess starten kannst während deiner läuft. Und wenn du es unter Windows startest, wird DOS in einem eigenen Prozess emuliert. Auch hier kannst du den Browser nicht aufrufen.
    Ich rate dir, deinen Code zu "portieren", und ihn auf einem anderen Compiler lauffähig zu machen (z.B. Dev C++ oder Borland C++ 5.02 (war glaub ich die Version)). Das sind Compiler für Win32, wo dein Proggi dann in der Konsole läuft. Dort kannst du dann auch den Browser starten, entweder mit windows.h und ShellExecute() oder mit system().



  • @WebFritzi: Die Frage ist dann nur ob er das überhaupt will?! Und einen 2. Prozess starten geht zwar nicht, dass heißt aber nicht, dass man kein Programm ausführen kann und nach Beendigung wieder zurückkehren kann!

    Also zumindest in Turbo Pascal ging (mit richtiger Compileroption) immer folgendes:

    SwapVectors;
    exec ( "PFAD" , "PARAMETER" );
    SwapVectors;
    

    Allerdings _nur_ unter DOS!

    MfG SideWinder


Anmelden zum Antworten