Internet Explorer oder andere andwendungen bzw .exe-dateien im c++ programm aufrufen?



  • joomoo schrieb:

    Wäre ShellExecute nicht einfacher?

    Man könnte es als einfacher ansehen 😉 .
    Aber unterm Strich musst du bei CreateProcess auch nur nen paar mal mehr NULL übergeben(sofern man nicht die Möglichkeiten nutzt die die Funktion bietet), hast dafür aber im weiteren Verlauf Prozessinformationen mit denen du was anfangen kannst.

    MfG Spacelord



  • joomoo schrieb:

    Wäre ShellExecute nicht einfacher? Einfach:
    ShellExecute(NULL, NULL, "C:\\bla.exe", NULL, NULL, SW_SHOW); oder so...

    mfg.

    was meinst du mit NULL,NULL,???
    wozu ist das gedacht? 🙂



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum DOS und Win32-Konsole verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • also ich hab des jetzt zum einen mit createprocess ausprobiert:
    **int main ()
    {
    CreateProcess c:\Programme\Internet Explorer\iexplorer.exe;
    return 0;
    }
    **

    folgender fehler:
    E:\complimier\test.cpp: In function int main()': E:\\complimier\\test.cpp:6: error:CreateProcess' undeclared (first use this function)
    E:\complimier\test.cpp:6: error: (Each undeclared identifier is reported only once for each function it appears in.)
    E:\complimier\test.cpp:6: error: expected `;' before "c"
    E:\complimier\test.cpp:6: error: stray '\' in program
    E:\complimier\test.cpp:6: error: stray '\' in program
    E:\complimier\test.cpp:6: error: stray '\' in program

    Ausführung beendet
    und dann noch mit shellexecute
    **int main ()
    {
    ShellExecute(NULL, NULL, "c:\Programme\Internet Explorer\iexplorer.exe", NULL, NULL, SW_SHOW);
    return 0;
    }
    **
    und hier auch folgender fehler:
    :\complimier\test.cpp:6:32: warning: unknown escape sequence '\P'
    E:\complimier\test.cpp:6:32: warning: unknown escape sequence '\I'
    E:\complimier\test.cpp:6:32: warning: unknown escape sequence '\i'
    E:\complimier\test.cpp: In function int main()': E:\\complimier\\test.cpp:6: error:SW_SHOW' undeclared (first use this function)
    E:\complimier\test.cpp:6: error: (Each undeclared identifier is reported only once for each function it appears in.)
    E:\complimier\test.cpp:6: error: `ShellExecute' undeclared (first use this function)

    Ausführung beendet



  • KamiKatze schrieb:

    joomoo schrieb:

    Wäre ShellExecute nicht einfacher? Einfach:
    ShellExecute(NULL, NULL, "C:\\bla.exe", NULL, NULL, SW_SHOW); oder so...

    mfg.

    was meinst du mit NULL,NULL,???
    wozu ist das gedacht? 🙂

    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/functions/shellexecute.asp

    Du musst noch die windows.h inkludieren.

    mfg.



  • joomoo schrieb:

    KamiKatze schrieb:

    joomoo schrieb:

    Wäre ShellExecute nicht einfacher? Einfach:
    ShellExecute(NULL, NULL, "C:\\bla.exe", NULL, NULL, SW_SHOW); oder so...

    mfg.

    was meinst du mit NULL,NULL,???
    wozu ist das gedacht? 🙂

    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/functions/shellexecute.asp

    Du musst noch die windows.h inkludieren.

    mfg.

    aso^^
    ok thx
    aber ich würd trotzdem gerne wissen für was NULL steht.....
    danke



  • KamiKatze schrieb:

    joomoo schrieb:

    KamiKatze schrieb:

    joomoo schrieb:

    Wäre ShellExecute nicht einfacher? Einfach:
    ShellExecute(NULL, NULL, "C:\\bla.exe", NULL, NULL, SW_SHOW); oder so...

    mfg.

    was meinst du mit NULL,NULL,???
    wozu ist das gedacht? 🙂

    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/functions/shellexecute.asp

    Du musst noch die windows.h inkludieren.

    mfg.

    aso^^
    ok thx
    aber ich würd trotzdem gerne wissen für was NULL steht.....
    danke

    für nix so zusagen. Du sagst der Funktion dass dir der Parameter egal ist.

    mfg.



  • ok thx
    mfg KamiKatze



  • KamiKatze schrieb:

    also ich hab des jetzt zum einen mit createprocess ausprobiert:
    **int main ()
    {
    CreateProcess c:\Programme\Internet Explorer\iexplorer.exe;
    return 0;
    }
    **

    Das ist nicht wirklich dein Ernst,oder 😞 ?

    MfG Spacelord



  • eventuell ein april-scherz 🤡



  • ja genau aprilscherz.... 😃
    was würdest du vorschlagn...
    bin leider noch nicht solange in der c++programmierung tätig...und in dem buch "c++ objektorintiertes programmieren von anfang an" auch noch nicht so weit....



  • KamiKatze schrieb:

    was würdest du vorschlagn...

    Das Grundlagenbuch(das ist doch von Helmut Erlenkötter,oder?) erstmal durchzulesen ,bevor du anfängst mit irgendwelchen Api´s rumzuspielen.

    MfG Spacelord



  • ja des....



  • ShellExecute(NULL, NULL, "c:\Programme\Internet Explorer\iexplorer.exe", NULL, NULL, SW_SHOW);
    

    ich bin trotzdem mal so nett^^

    Wenn du in einem String

    \
    

    darstellen willst, musst du es so machen

    \\
    

    weil der compiler sonst denkt alles was nach dem

    \
    

    kommt sei teil der Escapesequenz

    was das ist liest du bestimmt noch....



  • also was escapesequenzen sind weiß ich,hab ich mir auch gedacht das der des dann falsch versteht,aber ich wusste ned wie ich den pfad sonst angeben soll,und

    //
    

    heißt doch doch "kommentar" oder?!



  • KamiKatze schrieb:

    also was escapesequenzen sind weiß ich,hab ich mir auch gedacht das der des dann falsch versteht,aber ich wusste ned wie ich den pfad sonst angeben soll,und

    //
    

    heißt doch doch "kommentar" oder?!

    von // war auch nie die Rede sondern von \!!

    mfg.



  • 😡 ich bin zu blöd zum lesen....
    sry.....
    ich hab etz den code nochmal "richtig" probiert:

    #include <windows.h>
    #include <iostream>
    int main() {
        ShellExecute(NULL, NULL, "c:\\Programme\\Internet Explorer\\iexplorer.exe", NULL, NULL, SW_SHOW);
    getchar();
    return 0;
    }
    

    da hat sich bloß das dos-fenster aufgetan....
    aber der internetexplorer hat sich nicht geöffnet.....
    warum nicht,der pfad stimmt wenn ich ein bild in dem selben ordner anzeigen lasse geht es,aber der iepxplorer mag ned....why?!



  • Wie wärs mal mit Fehler abfangen??? Bei mir wird die Datei einfach nicht gefunden:

    #include <windows.h>
    #include <iostream>
    
    int main() {
        int r = reinterpret_cast<int>(
                    ShellExecute(NULL, "open",
                                 "C:\\Programme\\Internet Explorer\\iexplorer.exe",
                                 "", NULL, SW_SHOW));
        if (r <= 32) {
            std::cout << "Fehler: " << r << " == " << ERROR_FILE_NOT_FOUND << std::endl;
        }
        return 0;
    }
    

    Also bei mir gibt's die Datei nicht.

    Achja: Der Internetexplorer ist der größte Scheiß der je programmiert wurde, also nimm ihn erst gar nicht. Folgendes Script geht bei mir:

    #include <windows.h>
    #include <iostream>
    
    int main() {
        int r = reinterpret_cast<int>(
                    ShellExecute(NULL, "open",
                                 "C:\\Programme\\Mozilla Firefox\\firefox.exe",
                                 "", NULL, SW_SHOW));
        if (r <= 32) {
            std::cout << "Fehler: " << r << " == " << ERROR_FILE_NOT_FOUND << std::endl;
        }
        return 0;
    }
    

    Falls du so ein Trottel bist und den IE trotzdem nehmen willst, musst du nur den Pfad anpassen.

    mfg.



  • ne,also ich benutz auch keinen i-explorer,ich halte allgemein wenig von mircosoft-produkten...also bei mir stimmt der pfad,normalerweiße sollte der dann aufgehn...



  • KamiKatze schrieb:

    ne,also ich benutz auch keinen i-explorer,ich halte allgemein wenig von mircosoft-produkten...also bei mir stimmt der pfad,normalerweiße sollte der dann aufgehn...

    Das ist gut! Ich mag dich 😃

    Klappt's eigentlich jetzt?

    mfg.


Anmelden zum Antworten