Вниз
Скачать: 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
1-8911
Марина
2002-01-17 13:48
2002.02.04
Цветшрифта в ячейке StringGrid


14-8992
fliz
2001-12-14 18:33
2002.02.04
---|Ветка была без названия|---


3-8761
Paolo_lis
2002-01-04 16:35
2002.02.04
Компоненета с инкриментальным посиком


4-9044
valery_f
2001-12-03 14:37
2002.02.04
WaveOutxxx


14-8984
vuk
2001-12-13 18:50
2002.02.04
Вводим в Yandex при поиске слово




   Наверх