Вниз
Скачать: CL | DM;

Почему не скрывается запущенная прога через CreateProcess?   Найти похожие ветки 

← →
DDS   (2003-10-25 16:45) [0]

Функция должна запустить прогу (DOS-прога) и не показывая ее подождать ее завершения, но процедура зависает (WaitForSingleObject не заканчивается) если я ставлю si.wShowWindow := SW_HIDE. Помогите, вето процедура:

procedure ExeWait(CmdLine,CurDir,ErrStr:String);
var si:STARTUPINFO;
pi:PROCESS_INFORMATION;
begin
ZeroMemory(@si,sizeof(si));
si.cb:=SizeOf(si);
si.dwFlags := STARTF_USESTDHANDLES + STARTF_USESHOWWINDOW;
si.wShowWindow := SW_HIDE;
if not CreateProcessA(nil,PChar(cmdline),nil,nil,true,NORMAL_PRIORITY_CLASS,nil,Pchar(CurDir),si,pi)
then ShowMessage(errstr) else WaitForSingleObject(pi.hProcess, INFINITE);
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
end;


← →
Игорь Шевченко ©   (2003-10-25 21:48) [1]

Чего запускаем ?


← →
DDS   (2003-10-26 11:48) [2]

DOS-овскую прогу


← →
Rouse_ ©   (2003-10-26 12:35) [3]

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure ExeWait(CmdLine,CurDir,ErrStr:String);
var
si:STARTUPINFO;
pi:PROCESS_INFORMATION;
begin
ZeroMemory(@si,sizeof(si));
si.cb:=SizeOf(si);
si.dwFlags := STARTF_USESTDHANDLES + STARTF_USESHOWWINDOW;
si.wShowWindow := SW_HIDE;
if not CreateProcessA(nil,PChar(cmdline),nil,nil,true,
NORMAL_PRIORITY_CLASS,nil,Pchar(CurDir),si,pi)
then
ShowMessage(errstr) else WaitForSingleObject(pi.hProcess, INFINITE);
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
ExeWait("C:\Test.exe", "C:\", "Не могу поднять ногУ!!!");
end;

end.


Все работает...

Желаю успехов


← →
DDS   (2003-10-28 22:52) [4]

Попробую спасибо...



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
6-75288
AntiFriz
2003-10-22 07:11
2003.12.23
TIdHttp - как закачать картинку


1-75204
Альф
2003-12-11 11:49
2003.12.23
Как програмно узнать количество строковых ресурсов ?


1-75178
Silver_
2003-12-10 14:56
2003.12.23
Screen.Forms - может кто поправит, если не прав?


7-75408
Ал
2003-10-20 11:41
2003.12.23
Как узнать, что система в простое и как - что вышла из него?


1-75256
Lena1
2003-12-10 13:15
2003.12.23
DLL




   Наверх