Article View: pl.comp.lang.delphi
Article #334882CreateProcess i zamykanie
From: GAD Zombie
Date: Mon, 23 Jan 2012 12:34
Date: Mon, 23 Jan 2012 12:34
50 lines
2399 bytes
2399 bytes
Witam
Napisalem sobie funkcje, za jakimis przykladami z sieci, ktora ma za
zadanie wlaczyc jakas aplikacje w osobnym watku, ukrywajac jej okno.
Zalozenie jest takie, ze razem z moim programem wlacza sie drugi program
z linii polecen i ma nie byc widac tego czarnego okna commandline. Przy
zamykaniu aplikacji wylaczam ten uruchomiony proces, korzystajac z id,
ktore zwrocilo mi CreateProcess. Oto ta funkcja:
function WlaczExeka(sciezka, parametry: string): cardinal;
var
startup: STARTUPINFO;
inf: PROCESS_INFORMATION;
begin
result := 0;
ZeroMemory(@startup, SizeOf(STARTUPINFO));
startup.dwFlags := STARTF_USESHOWWINDOW;
startup.wShowWindow := SW_HIDE;
startup.cb:= SizeOf (STARTUPINFO);
if CreateProcess(pchar(sciezka), pchar(parametry), nil, nil, false, 0
, nil, nil, startup, inf) then
begin
result := inf.dwProcessId;
end
else
begin
// Memo1.lines.add('Niemożliwe uruchomienie: ' + sciezka);
end;
end;
Calosc dziala poprawnie, jednak mam problem innego typu.
Zakladajac, ze moja aplikacja sie jakos wywali, to ten stworzony proces
zostaje w pamieci i dziala nadal, chociaz moja aplikacja jest juz
zamknieta (bo przy wywaleniu sie nie zamknela procesu potomnego).
I tu pytanie: Jak to zrobic, zeby ten proces zawsze sie zamknal razem z
moja aplikacja? Chodzi mi po glowie, ze proces utworzony przeze mnie
powinien miec jakiegos parenta, ktorym jest moja aplikacja. Jesli moja
aplikacja sie zamknie, to tamten proces tez musi sie zakonczyc.
Jak to mozna rozwiazac?
--
GAD Zombie
http://gad.art.pl/ http://sadist.art.pl/
http://gry-samochodowe.gad.art.pl/
Technical Details
Message-ID:
<jfjk1q$ivu$1@opal.futuro.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!opal.futuro.pl!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!opal.futuro.pl!not-for-mail From: GAD Zombie <gad@USUN.gad.USUN.art.pl> Newsgroups: pl.comp.lang.delphi Subject: CreateProcess i zamykanie Date: Mon, 23 Jan 2012 13:34:43 +0100 Organization: Pro Futuro Lines: 50 Message-ID: <jfjk1q$ivu$1@opal.futuro.pl> NNTP-Posting-Host: 195.245.84.100 Mime-Version: 1.0 X-Trace: opal.futuro.pl 1327321978 19454 195.245.84.100 (23 Jan 2012 12:32:58 GMT) X-Complaints-To: usenet@futuro.pl NNTP-Posting-Date: Mon, 23 Jan 2012 12:32:58 +0000 (UTC) User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1.7) Gecko/20100111 Thunderbird/3.0.1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit