Seite 1 von 1

RunProgramm - Hide - bei Programme mit Ausgabe?!

Verfasst: 30.07.2007 17:19
von smateja
Hallo zusammen, ich habe ein kleines Problem bei folgendem Code

Code: Alles auswählen

RunProgram(GetCurrentDirectory()+"webmin\apache\bin\apache-service-install.cmd", "", GetCurrentDirectory()+"webmin\apache\bin\", #PB_Program_Hide)
er ezigt mir torztdem die Konsole an - wahrscheinlich weil ich eine .cmd aufrufe die wiederrum dann erst den Dienst installiert.

weiß jemand, pb es trotzdem eine möglichkeit gibt hier die ausgabe von der Dienstinstallion zu unterdrücken !?


Nachtrag:

Alternativ wäre mir auch geholfen wenn ich einfach nur "apache -k install -n HSS_Webmin" das via runprogramm ausführen könnte - wobei ich das bislang so nicht geschafft habe - dadurch eben der Behelf mit der Batch bzw .cmd - Datei.

Re: RunProgramm - Hide - bei Programme mit Ausgabe?!

Verfasst: 30.07.2007 17:36
von Kiffi
Hallo smateja.

evtl. gibt's bei dem Apache-Installer einen Schalter, den Du zusätzlich setzen
kannst (sowas wie QUIET, oder ähnlich)?

Grüße ... Kiffi

re:

Verfasst: 30.07.2007 17:38
von smateja
*G sind doch immer die gleichen die prompt ne idee posten ;)

erstmal danke kiffi - aber nein so n Schalter gibts leider nicht für den apachen. Aber der Ansatz war gut.

Verfasst: 31.07.2007 10:31
von jpd
Hi smateja,
ich glaube das könnte dir weiterhelfen.

Mit diesen beispiel kannst du ausführbare programme oder jobs Dateien ausführen

und ausgabe + returncode abfangen.


Code: Alles auswählen

Procedure.l run_commander(prog.s)
  run_cmd = RunProgram("cmd.exe", "/c "+prog, "", #PB_Program_Hide |#PB_Program_Open|#PB_Program_Read|#PB_Program_Write  |#PB_Program_Error)
  ProcedureReturn run_cmd
EndProcedure 



app=run_commander(GetCurrentDirectory()+"apache -k install -n HSS_Webmin")
;app=run_commander(GetCurrentDirectory()+"webmin\apache\bin\apache-service-install.cmd")
 If app
    While ProgramRunning(app) 
      test.s= ReadProgramString(app) 
      Debug test
    Wend
  EndIf
  ExitCode = ProgramExitCode(app) 
  Debug "exitcode: " +Str(ExitCode)
  CloseProgram(app)
getcurrentdirectory() würde ich nur verwenden wenn sichergestellt ist das

dein programm auch im gleichen verzeichnis der zu asführende anwendung liegt.

Ciao
jpd

Verfasst: 31.07.2007 11:44
von ts-soft
jpd hat geschrieben: getcurrentdirectory() würde ich nur verwenden wenn sichergestellt ist das

dein programm auch im gleichen verzeichnis der zu asführende anwendung liegt.

Ciao
jpd
Nicht nur das, das CurrentDirectory wird nicht immer auf den Pfad der Exe
gesetzt, zum Beispiel beim Aufruf per Verknüpfung, wo der Eintrag: Ausführen in leer ist.

Code: Alles auswählen

GetPathPart(ProgramFilename())
ist besser geeignet, wobei in der IDE dieser Pfad auch nicht korrekt ist,
sondern nur bei der eigentlichen Exe. Dafür gibts hier aber genug Beispiele,
wo man sieht wie man das umgeht.