programme starten?



  • ich habe so en tut und wollte das mal ausprobieren. aber ich denke ,dass das tut nicht fuer windoof xp geeignet ist. jetzt funtz mein start button net. Wenn ich ein anderes prog nehme als paint oder so, was nicht von windoof ist, muss ich dann einen anderen tag als "WinExec" nehmen? jedenfalles muss man den pfad ausschreiben, denke ich mal, aber dann funtzt das immer noch net. liegt das an xp?

    void CProgrammmanagerDlg::OnStart() 
    {
        // TODO: Add your control notification handler code here
    
     // Aktuelle Werte vom Bildschirm holen
     UpdateData(TRUE);
    
     // Lokale Variable zur Aufnahme des Programmnamens deklarieren
     CString strPgmName;
    
     // Programmname in die lokale Variable kopieren
     strPgmName = m_combo;  
    
        // Programmname in Großbuchstaben umwandeln
     strPgmName.MakeUpper();
    
      if (strPgmName == "PAINT")
     WinExec("pbrush.exe", SW_SHOW);
    

    Anmerkung: Dieser Theread wurde nicht von mir selbst verfasst, ich habe ihn nur korrigiert.



  • BEACHTE!

    wenn der Pfad z.B so ist: C:\Programme\Ludidu\pro.exe

    must du auf die Escape Zeichen achtne also so:
    C:\\Programme\\Ludidu\\pro.exe



  • Ahh, cool danke, aber die normalen Windows-Progs funzen auch net... oder brauchen die auch nen Pfad und ist somit das tut schlecht?

    *edit*
    Funzt immer noch net! Also muss noch was falsch sein...

    [ Dieser Beitrag wurde am 31.07.2002 um 13:39 Uhr von Numen editiert. ]



  • Hast du mal in die FAQ geschaut



  • Was kann man da Falsch machen??,

    was funktioniert denn nicht? kommt einfach nichts oder compiler fehler???

    [ Dieser Beitrag wurde am 31.07.2002 um 14:33 Uhr von WurstNuss editiert. ]



  • Wenn ich das Prog in der Combobox ausgewählt habe und uf den button drücke passiert einfach nix.



  • Schreib mal bitte genau was du machst, was der debug liefert und welchen code du jetzt zum starten Programmes benützt.
    Ein wenig source wäre auch nicht schlecht. Da kann man ja nur spekulieren.



  • schau es dir hier an, das macht genau das selbe:D

    http://www.mut.de/media/buecher/VCPLUS6/data/kap02.htm



  • das selbe tut benutze ich auch funzt aber net. deswegen stelle ich mir ja die frage ob das an xp liegen kann. ich habe das einmal so probiert wie das da stand und einmal ein bissel abgeandert funtzt aber beides net. das von mir sieht übrigens so aus.

    void CProgrammmanagerDlg::OnStart() 
    {
        // TODO: Add your control notification handler code here
    
     // Aktuelle Werte vom Bildschirm holen
     UpdateData(TRUE);
    
     // Lokale Variable zur Aufnahme des Programmnamens deklarieren
     CString strPgmName;
    
     // Programmname in die lokale Variable kopieren
     strPgmName = m_combo;  
    
        // Programmname in Großbuchstaben umwandeln
     strPgmName.MakeUpper();
    
      if (strPgmName == "COUNTER_STRIKE")
     WinExec("E:\\Counter-Strike\\cstrike.exe", SW_SHOW);
    
    }
    


  • Mach mal folgendes,setzt vor dem Ausführen noch eine MessageBox:

    void CProgrammmanagerDlg::OnStart() 
    {
       UpdateData(TRUE);
       CString strPgmName;
       strPgmName = m_combo; 
       strPgmName.MakeUpper();
       MessageBox(strPgmName,"Test",MB_OK);  //DAS HINZUFÜGEN
      if (strPgmName == "COUNTER_STRIKE")
      {
          WinExec("E:\\Counter-Strike\\cstrike.exe", SW_SHOW);
      }
    }
    

    Und dann poste bitte mal was in der Box Stand, aber ganz genau gucken...
    Ich denke der Fehler liegt bei der Abfrage.
    Wie steht der Name "Counter-Strike" in einer MessageBox??
    Steht er da wirklich mit Unterstrich?? (COUNTER_STRIKE) ??

    Sag mal an...



  • Ne, aber müssen nicht alle Namen mit aktiviertem Shift geschrieben werden?
    Sonst stehen da doch auch nur Großbuchstaben....



  • warum machst du das überhaupt??
    teste doch mal so:

    - Im DropDown schreibste "klein" : cs
    und änderst die abfrage auf
    if(strPgmName=="cs")

    Natrülich nimmst du das MakeUpper raus....

    Klappt es dann?



  • ich habe jetzt mal die messagebox hinzugefügt, denn makeuper geloescht und den eintrag in der combo in cs geaendert. was dann zu folge hat das wenn ich in der combo cs auswaehle dann steht in der messagebox cs und oder was auch immer in der combo steht, das prog startet immer noch net.

    *edit*
    ich habe es jetzt hinbekommen, wen es interresiert das geht so wie der commander das gesagt hat ich hatte nur an einer stelle was vergessen

    thx

    [ Dieser Beitrag wurde am 31.07.2002 um 22:18 Uhr von Numen editiert. ]



  • Was hattest du denn vergessen.... *pure neugirde*



  • *hüstel* Um mich nicht total zu blamieren, sag ich's lieber net....

    *flüster* hatte einmal vergessen, den neuen Wert einzugeben... 🙄



  • 😉


Anmelden zum Antworten