Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.08;
Скачать: CL | DM;

Вниз

Как создать процесс с параметром?   Найти похожие ветки 

 
Керик   (2002-02-07 04:51) [0]

Как с помощью CreateProcess(...) Запистить программу с параметром?


 
MBo ©   (2002-02-07 07:31) [1]

Okay, while the code above works just fine for executing an application, one my readers pointed out that it doesn"t work with programs that include a command line argument. Why? Because CreateProcess" first parameter expects a fully qualified program name (path\executable) and nothing else! In fact, if you include a command line in that parameter, CreateProcess will do nothing. Yikes! In that case, you have to use the second argument. In fact, you can use the second parameter even for just executing a program with no command line. Given that, ExecNewprocess would be changed as follows:
{Supply a fully qualified path name in ProgramName
and any arguments on the command line. As the help file
states: "If lpApplicationName is NULL, the first white space-delimited
token of the command line specifies the module name..." In English,
the characters before the first space encountered (or if no space is
encountered as in a single program call) is interpreted as the
EXE to execute. The rest of the string is the argument line.}
procedure ExecNewProcess(ProgramName : String);
var
StartInfo : TStartupInfo;
ProcInfo : TProcessInformation;
CreateOK : Boolean;
begin

{ fill with known state }
FillChar(StartInfo,SizeOf(TStartupInfo),#0);
FillChar(ProcInfo,SizeOf(TProcessInformation),#0);
StartInfo.cb := SizeOf(TStartupInfo);

CreateOK := CreateProcess(nil, PChar(ProgramName), nil, nil,False,
CREATE_NEW_PROCESS_GROUP+NORMAL_PRIORITY_CLASS,
nil, nil, StartInfo, ProcInfo);

{ check to see if successful }
if CreateOK then
//may or may not be needed. Usually wait for child processes
WaitForSingleObject(ProcInfo.hProcess, INFINITE);
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.016 c
1-22697
Oleg_K
2002-03-16 11:07
2002.04.08
Рахзная ширина столбцов в StringGrid e


1-22678
Goblinus
2002-03-28 16:19
2002.04.08
RichEdit


4-22885
Керик
2002-02-07 04:51
2002.04.08
Как создать процесс с параметром?


14-22788
alexey1
2002-02-22 02:27
2002.04.08
вопрос знатокам хуков(Юрию Зотову, Fellomene, Ивану Шихалеву и всем всем


14-22802
vajo
2002-02-26 15:15
2002.04.08
Всем привет! Вопрос по W2000 server