Befehle ohne Leerzeichen (Parameter)??? <= unbeantwortet!!!



  • Warum kann man bei ShellExecute keine Parameter setzen??

    Beispiel
    m_edit1 bis 4 sind Parameter von netsh

    // Falsch
    ShellExecute (NULL, 
    "open", 
    "netsh  -c interface ip set address"/*+m_edit1+" "+m_edit2+" "+m_edit3+" "+m_edit4*/, 
    NULL, 
    NULL, 
    SW_SHOWNORMAL);
    
    //Richtig
    
    ShellExecute (NULL, 
    "open", 
    "netsh", 
    NULL, 
    NULL, 
    SW_SHOWNORMAL);
    

    Ohne Parameter ist die Komandozeile jedoch sinnlos. Was kann ich machen?



  • Versuch mal:

    ShellExecute (NULL, 
    "open", 
    "netsh", 
    "meine lustigen parameter hier rein", 
    NULL, 
    SW_SHOWNORMAL);
    


  • Du hast recht. Die Variblen mag er aber trotzdem nicht.

    ShellExecute (NULL, "open", "netsh.exe",m_edit1+" "+m_edit2/*+" "+m_edit3+" "+m_edit4, NULL, SW_SHOWNORMAL);
    

    Nebenbei erwähnt sind die Variablen alles CString. Vielleicht ist das ein Problem?



  • Vielleicht solltest Du dir das Ergebnis Deiner Verkettung angucken.
    Weiß nicht, was da drin steht oder ob Du die Parameter richtig verwendest.
    Dies hier läuft bei mir Problemlos:

    CString sDrive = "C:\\";
    CString sFile  = "test.txt";
    ShellExecute( NULL, "open", "notepad.exe", sDrive + sFile, NULL, SW_SHOWNORMAL );
    


  • Dummheitsfehler zuvor.

    Danke!


Anmelden zum Antworten