Text beim Aufruf eines Programmes übergeben u. diesen dann als Meldung ausgeben



  • Hallo,

    ich möchte von einem C++-Programm aus ein anderes C++-Programm aufrufen u. dabei einen Text übergeben, der von dem aufgerufenen Programm dann als Meldung anzeigt wird.
    Wie kann ich diesen Text (zusammen) mit dem Aufruf der Anwendung übergeben?
    Oder gibt es eine andere Lösung hierfür?

    DANKE!!



  • Sind es beides deine Programme, die du entwickelst?
    Was für Programme (Konsole - Windows GUI)?



  • Also das klingt für mich nach shellexecute siehe hier für informationen http://www.marquardtnet.info/cecke/quickies.1/1_quicky_18.html



  • Wollte nur abklären was läuft ->
    - Datentausch über eine Datei
    - Datentausch über Registry
    - Datentausch über Aufrufparameter
    - Datentausch über eigene Windowsbotschaft
    - Datentausch über Clipboard
    - Datentausch über WM_COPYDATA
    - ......



  • Sind beides meine eigenen Programme. Aufruf sollte über Aufrufparameter erfolgen.
    Zum starten es anderen Programmes wollte ich die Funktion RunApp benutzen

    void RunApp(AnsiString slFileName, AnsiString slFileParameter)
    {
    // führt per ShellExecute die Anwendung, die mit der Dateiendung von FileName
    // assoziert ist aus, FileParam spezifiziert zusätzliche Aufrufparameter
      int slResuslt = int(ShellExecute(0, "open", slFileName.c_str(),
        slFileParameter.c_str(), 0, SW_SHOWNORMAL));
    
      if(slResuslt <= 32)
      {
        AnsiString slMessage;
        if(slResuslt == ERROR_FILE_NOT_FOUND || slResuslt == SE_ERR_FNF)
          slMessage = "Die angegebene Datei wurde nicht gefunden !";
        else if(slResuslt == ERROR_PATH_NOT_FOUND || slResuslt == SE_ERR_PNF)
          slMessage = "Der Pfad zur Datei wurde nicht gefunden !";
        else if(slResuslt == ERROR_BAD_FORMAT)
          slMessage = "Die .EXE Datei ist ungültig oder beschädigt !";
        else if(slResuslt == SE_ERR_ACCESSDENIED || slResuslt == SE_ERR_SHARE)
          slMessage = "Dateizugriff wird vom Betriebssystem verweigert !";
        else if(slResuslt == SE_ERR_ASSOCINCOMPLETE || slResuslt == SE_ERR_NOASSOC)
          slMessage = "Der angegebene Dateityp ist auf Ihrem Computer keiner " +
           AnsiString("Anwendung zugeordnet !");
        else
          slMessage = "Datei konnte nicht geöffnet werden !";
        Application -> MessageBox(slMessage.c_str(), "Fehler",
          MB_OK + MB_ICONEXCLAMATION);
      }
    

    Wie nehme ich jetzt jedoch meinen als Parameter übergebenen Text im aufgerufenen Programm auf, sodass dieser dort als ShowMessage angezeigt wird???



  • Hallo

    siehe ParamStr in der BCB-Hilfe un hier in Forum.

    bis bald
    akari


Anmelden zum Antworten