CreateProcess mit TLabel



  • Hallo,

    in zwei TLabels steht der String einer Datei (z.B. "test.exe") und der String der Startparamter für diese Anwendung.
    Bevor ich mit Unicode gearbeitet habe (c++Builder 6) hat mein CreateProcess-Code funktioniert:

    TStartupInfo stgStartupInfo;        
    TProcessInformation stgProcessInfo;
    
      DWORD ExitCode;                       // für den ExitCode
    
      setmem(&stgStartupInfo,sizeof(TStartupInfo),0);
      stgStartupInfo.cb = sizeof(TStartupInfo);
    
      // Anwendung starten:
      if(CreateProcess(NULL,(Form1->Anwendung_starten_befehl->Caption+" "+
          Form1->Anwendung_starten_parameter->Caption).c_str(),
          NULL,NULL,false, CREATE_DEFAULT_ERROR_MODE | NORMAL_PRIORITY_CLASS,
          NULL,NULL, &stgStartupInfo,&stgProcessInfo)==TRUE)
      {
    

    Was müsste ich nun ändern, damit dies auch unter c++Builder 2010 funktioniert? (CreateProcess ruft ja nun automatisch CreateProcessW auf).

    Danke!



  • CreateProcessW will einen WideString
    da String im C++ Builder >2009 ein UnicodeString ist übergeben es mit .w_str() statt mit c_str()


Anmelden zum Antworten