QT4 - Externes Programm unter Windows ausführen



  • Hallo,

    leider gibt es unter Qt 4 keine Möglichkeit (plattformunabh.) das mit einer Dateiendung laut Freedesktop.org oder in MS Windows verknüpfte Programm zu starten (also zB. xmms/winamp bei ".mp3" etc.).

    Deswegen hab ich das ganze versucht wie unten zu handeln, damit es wenigstens schon mal in unter Windows kompilierten Programmen läuft:

    #ifdef Q_WS_WIN
    #include <shellapi.h>
    #endif
    
    #ifdef Q_WS_WIN
      if (!index.isValid()) return;
      QString filePath = dir_model->filePath(index);
      int result = ShellExecute(NULL, "open", filePath.toByteArray().data(), NULL, NULL, SW_SHOW);
    #endif
    

    .toByteArray().data() liefert einen Pointer auf einen Char, gibt mir also einen klassichen "C-String".

    Allerdings lässt sich das mit dem minigw-Compiler nicht komplilieren... Hab leider nicht viel Erfahrung mit der Windows-API, vielleicht kann mir jemand helfen und sagen wie es funktioniert.

    Danke!

    Marco


Anmelden zum Antworten