Variable in ShellExecute

  • Hallo erstmal,

    habe schon wieder eine Frage: Wenn ich mir per getline() eine Zeile aus der Konsole hole, wird das ganze ja als string gespeichert. Jetzt will ich diese Variable aber als Parameter in die Funktion ShellExecute schreiben, die erwartet da aber wies scheint einen char. Jedenfalls bekomme ich die Meldung 'Cannot convert string to const CHAR:



    Wie kann ich das lösen, dass der eingegebene Pfad als Parameter für ShellExecute benutzt werden kann?

  • Hallo

    Dann verwende doch die Memberfunktion: c_str(). von std::string. Also einfach:

    Code
    std::string temp_string("Hallo");
    temp_string.c_str();

    chrische

  • Kannst du mir vielleicht mal ein Beispiel für mein Skript oben geben? Ich weiß nicht so recht wo und mit welchen Werten ich das einbauen soll. Wenn ich z.b. der Funktion den string als Parameter übergebe klappts nicht.

  • Hallo

    So müsste es eigentlich klappen, aber ich habe es nicht getestet.

    chrische

  • Das Geht nicht kommt imemr ein Fehler

    Zitat

    test.cpp(42) : error C2664: 'ShellExecuteW': Konvertierung des Parameters 2 von 'const char [5]' in 'LPCWSTR' nicht möglich
    Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
    Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\Tobias\Eigene Dateien\Visual Studio 2005\Projects\Test\Test\Debug\BuildLog.htm" gespeichert.
    Test - 1 Fehler, 0 Warnung(en)
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========

    Was kann man da machen??

    MFG Tobi

  • Hallo

    Du mustt in den Projekteinstellungen den Chjaracterset ändern, oder halt die _T nutzen.

    chrische