Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.23;
Скачать: 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 вся ветка

Текущий архив: 2003.12.23;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
1-75217
UPR
2003-12-11 05:03
2003.12.23
Как можно узнать о клике мышки в не моего компонента


1-75192
Леша
2003-12-10 17:18
2003.12.23
Работа с ВОРД используя WordApplication(WordDocument)!


1-75145
IvanOG
2003-12-10 09:31
2003.12.23
математика


3-75106
Vemer
2003-11-28 18:19
2003.12.23
Подключение к IBase по сети.


3-75107
BlackKing
2003-12-01 11:43
2003.12.23
Create Procedure