Announcement

Collapse
No announcement yet.

.exe Datei starten

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • .exe Datei starten

    Schönen guten morgen.
    Ich hab folgendes Problem, ich will eine .exe Datei aus meinem Programm heraus öffnen. Versuch es grad mit CreateProcess, aber da funktioniert es nicht. Das Programm wird nicht gestartet. Wie bekomme ich den jetzt den Fehlercode mit GetLastError heraus!? Oder kennt ihr noch eine andere Lösung wie ich eine .exe auf einem WindowsCe Gerät starten kann!?

    Meine Entwicklungsumgebung ist eMbedded Visual C++ 4.0

  • #2
    http://www.marquardtnet.info/cecke/q...quicky_25.html


    Den String rt durch eine VC String ersetzen
    Christian

    Comment


    • #3
      Danke für den Link.
      Aber was meinst du bitte mit VC String!?

      Comment


      • #4
        Denke du programmierst in VC??

        Das Listing in für den C++Builder. Dort heisst die Stringklasse String oder AnsiString. In VC wohl CString...
        Christian

        Comment


        • #5
          Ja wusste nur nicht was du meinst, aber bestimmt Visual C!
          Hab es als CString deklariert, dann kommt die Fehlermeldung:

          'c_str' : is not a member of 'CString'


          Wie kann ich es jetzt in ein reinen string umwandeln!?
          Oder muss ich es anders deklarieren!!?

          Comment


          • #6
            Wie kann ich es jetzt in ein reinen string umwandeln!?
            Dort ist keine Umwandlung in einen "reinen String" erforderlich, sondern in einen LPCTSTR. Dies sollte in VC

            ohne c_str() gehen

            also dort den CString einsetzen
            Christian

            Comment


            • #7
              Also müsste Die Anweisung dann so aussehen!?

              CreateProcess(NULL,rt,NULL,NULL,false,0,0,0,&si,&p i);
              rt="Storage Card\\Porg\\Einstellung.exe";

              Wenn ja, öffnet sich da leider kein Programm.

              Comment


              • #8
                Wenn du sowieso einen festen Pfad hast:


                CreateProcess(NULL,"Storage Card\\Porg\\Einstellung.exe",NULL,NULL,false,0,0,0 ,&si,&p i);

                Wenn das nicht geht halt GetLastError() lesen


                Porg?? ist ok
                Christian

                Comment


                • #9
                  Ne funktioniert immer noch nicht. Und wie kann ich GetLastError dann auslesen!?

                  Comment


                  • #10
                    http://msdn.microsoft.com/en-us/libr...60(VS.85).aspx
                    Christian

                    Comment


                    • #11
                      Müsste also so gehen!?

                      int fehler = GetLastError();


                      Aber da steht nichts in der Variable drinne...

                      Comment


                      • #12
                        Aber da steht nichts in der Variable drinne...
                        Das kann nicht sein, in einer Variablen muss immer was drin sein. Schließlich verweist sie auf eine Speicherstelle. Und nichts gibt es da nicht

                        Die Variable sollte vom Typ DWORD und nicht in sein.

                        Was gibt CreateProcess zurück?
                        Christian

                        Comment


                        • #13
                          Nun mal Butter bei die Fische:

                          Höchstwahrscheinlich ist doch dein Pfad falsch:

                          1. Porg ist bestimmt Prog
                          2. Wenn es eine Resource im Netzwerk ist beginnt der Pfad mit \\
                          Beispiel

                          \\Chrisitan\\Java(I)\Projekte NetBeans\PDFInfoChanger
                          Christian

                          Comment


                          • #14
                            Wenn ich über die beiden Variablen gehe, erscheint kein kleines Fenster mit dem Wert.
                            Mach ich das aber bei einer anderen Variable, zeigt es mir was da drin steht.
                            Ich bin grad irgendwie am verzweifeln...

                            bool fehlerC;
                            fehlerC = CreateProcess(NULL,"Storage Card\\Prog\\Einstellung.exe",NULL,NULL,false,0,0,0 ,&si,&p i);
                            DWORD fehlerG;
                            fehlerG = GetLastError();

                            Comment


                            • #15
                              1. Nein es ist definitiv Porg, ist ein Name von jemanden
                              2. Nein ist es auch nicht, die Datei liegt in dem selben Ordner wie mein Hauptprogramm, woraus ich dann die .exe starten will. Es ist ein WindowsCE Gerät

                              Comment

                              Working...
                              X