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

Как в программе получить Handle запускаемой из нее подпрограммы?   Найти похожие ветки 

 
Alku   (2002-01-17 14:36) [0]

Как из проводника передать управление программе, вместе с параметрами? Например программа висит в памяти, а я запускаю еще одну копию. Так вот, чтобы не создавать несколько копий проги надо передать управление в уже существующую в памяти программу вместе с несколькими параметрами. Как это сделать?
И еще. Из программы запускается другая прога процедурой ShellProcess. Как получить Handle запускаемой проги чтоб потом когда надо будет из программы ее закрыть?


 
yaJohn ©   (2002-01-17 14:55) [1]

1. Standartno, cherez DDE. Sm. vkladku System.
2. Ispolzuy CreateProcess.


 
Alku   (2002-01-17 16:49) [2]

А пример кода можно? У меня вот такой, но он не передает Handle в программу для его дальнейшего использования (в частности для закрытия программы)

Запуск

procedure TMainForm2.Button2Click(Sender: TObject);
var
s: string;
SI: TStartUpInfo;
PI: TProcessInformation;
begin
GetStartupInfo(SI);
s:="c:\winnt\notepad.exe"+#0;
if CreateProcess(nil,
@s[1],
nil,
nil,
FALSE,
NORMAL_PRIORITY_CLASS,
nil,
nil,
SI,
PI)=False
then ShowMessage("Не могу запустить Блокнот")
else handles:=PI.hProcess;
//else WaitForSingleObject(PI.hProcess, INFINITE);

end;


Выгрузка

procedure TMainForm2.Button1Click(Sender: TObject);
var
AG_hWnd:HWND;
AG_PID:DWORD;
D,DD:cardinal;
begin

{ AG_HWND:=FindWindow("notepad",nil);
GetWindowThreadProcessId(AG_HWND,@AG_PID);}

GetWindowThreadProcessId(handles,@AG_PID);

D:=OpenProcess(Process_all_access,true,AG_PID);
GetexitcoDeprocess(d,dd);
TerminateProcess(d,dd);
end;



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

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



Память: 0.45 MB
Время: 0.007 c
3-8771
Reals
2002-01-05 19:37
2002.02.04
Как правильно сделать проверку в таблице...


1-8845
Eraser
2002-01-21 10:58
2002.02.04
Где sleep


3-8796
roottim
2002-01-06 12:36
2002.02.04
DbGrid


6-8970
Oplg
2001-11-12 18:57
2002.02.04
Вопрос


3-8763
Pavel_s
2002-01-03 16:46
2002.02.04
Интеграция Interbase и NT !!!!!!!!!!




   Наверх