AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

CreateProcess Zugriff verweigert

Ein Thema von aegidos · begonnen am 18. Feb 2009 · letzter Beitrag vom 18. Feb 2009
Antwort Antwort
aegidos

Registriert seit: 30. Okt 2007
40 Beiträge
 
Delphi 2007 Professional
 
#1

Re: CreateProcess Zugriff verweigert

  Alt 18. Feb 2009, 09:23
Danke für die Hilfe,
Die Batch als einen einzigen Prozess zu starten funktioniert bei mir leider nicht da ich die Exitcodes der gestarteten exe-Files auswerten muss.
Delphi-Quellcode:
del C:\Software\sw\report_detail.pdf
copy C:\Software\sw\report.xml C:\Software\sw\protocol.xml
C:\Software\sw\help_program.exe
del C:\Software\sw\report_detail2.pdf
copy C:\Software\sw\report.xml C:\Software\sw\protocol2.xml
C:\Software\sw\help_program2.exe
Mich interessieren jeweils die exitcodes von help_program.exe und help_program2.exe. Würde ich einen einzigen Prozess starten bekomme ich nicht mit wann eine exe fertig ist und wann eine neue startet.

ich habe mein Problem mit den Shell-Bultin-Commands nun wie folgt gelöst:
Delphi-Quellcode:
      starti := Pos('del ', strDummy);
         if starti = 1 then
         begin
            //del befehl gefunden, nun comandlineString "zerschneiden"
           strConcat := Copy(strDummy, 5,Length(strDummy));
           if(FileExists(strConcat))then
           DeleteFile(strConcat);
         end else if ( Pos('copy ', strDummy) = 1) then
         begin
            //copy befehl gefunden, nun comandlineString "zerschneiden" um source und destination zu erhalten
           strConcat := Copy(strDummy, 6,Length(strDummy));
           strConcatSource := Copy(strConcat, 0,(Pos(' ',strConcat))-1);
           strConcatDestination := Copy(strConcat, (Pos(' ',strConcat))+1,Length(strConcat));
           if(FileExists(strConcatSource))then
           CopyFile(PChar(strConcatSource),PChar(strConcatDestination),False);
           end else
  if not CreateProcess(
    nil,
    //PChar(CommandLine),
    PChar(strDummy),
    nil,
    nil,
    True,
    ProPri, // and CREATE_NEW_CONSOLE,
    nil,
    nil,
    StartupInfo,
    ProcessInfo)
  then begin
Nun wird nur ein eigener Prozess gestartet wenn tatsächlich eine exe gestartet wird. Ich hoffe das ist nun auch performanter.

Darauf, dass ich die del und copy nicht über createprocess aufrufen kann ohne "cmd" davor zu schreiben wär ich nie gekommen.
Merci !
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz