CreateProcess ile SW_HIDE?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
cozturk
Üye
Mesajlar: 484
Kayıt: 15 Haz 2005 05:22

CreateProcess ile SW_HIDE?

Mesaj gönderen cozturk »

Aşağıdaki şekilde bir dos programı çalıştırıyorm. ancak dos ekranı görünmemesi için ne yapabilirim? (hala görünüyor) ( winexec , shellexecute işimi görmüyor.)

Kod: Tümünü seç

function DosRUN(const ExeName, WhereBegin,
Parameters: string): Boolean;
var
StartupInfo: TStartupInfo;
ProcessInfo: TProcessInformation;
BeginPath: PChar;
begin

        FillChar (StartupInfo, Sizeof(StartupInfo), 0);
        StartupInfo.cb := Sizeof(StartupInfo);
        StartupInfo.wShowWindow := SW_HIDE;

        if WhereBegin = '' then BeginPath := nil
        else BeginPath := PChar (WhereBegin);
        Result := CreateProcess(nil, PChar
          (ExeName+' '+Parameters), nil, nil, False,
          NORMAL_PRIORITY_CLASS, nil, BeginPath, StartupInfo,
          ProcessInfo);
end;
Kullanıcı avatarı
coskundeniz
Üye
Mesajlar: 22
Kayıt: 20 Ara 2003 11:36

Mesaj gönderen coskundeniz »

Kod: Tümünü seç


function ExecFileAndWait(const aCmdLine: String; Hidden, doWait: Boolean): Boolean; 
var 
   StartupInfo : TStartupInfo; 
   ProcessInfo : TProcessInformation; 
begin 
// setup the startup information for the application 
  
    FillChar(StartupInfo, SizeOf(TStartupInfo), 0); 
   with StartupInfo do 
    begin 
     cb:= SizeOf(TStartupInfo); 
     dwFlags:= STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK; 
     if Hidden 
      then wShowWindow:= SW_HIDE 
      else wShowWindow:= SW_SHOWNORMAL; 
    end; 

    Result := CreateProcess(nil,PChar(aCmdLine), nil, nil, False, 
    NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo, ProcessInfo); 
    if doWait then 
      if Result then 
      begin 
        WaitForInputIdle(ProcessInfo.hProcess, INFINITE); 
        WaitForSingleObject(ProcessInfo.hProcess, INFINITE); 
      end else Raise Exception.Create('Interbase Klasörü Bulunamadı'); 
end; 
 
ExecFileAndWait('uygulama', True, True);

Hidden = True ise dos uylamasının görüntüsü yok olur
doWait = True ise uygulama bitene kadar bekler
Cevapla