Drzewo procesów...

0

Prosta sytuacja:
Mój program (A) odpala inny (B).
Jak włącze Menadzera zadań, zaznacze A i klikne "Zakończ drzewo procesów" to zamyka A i B...

Jak to ominąć?
Myślałem, że można by odpalić poprzez explorer.exe (z parametrem) albo cmd.... tylko nie wiem jak... kiedyś to już robiłem coś podobnego
ale pod Win98 a to zupełnie inna sprawa...

F1 [stuk]

Dzięki z góry...
[browar] [cya]

0

[...]
Myślałem, że można by odpalić poprzez explorer.exe (z parametrem) albo cmd.... tylko nie wiem jak... kiedyś to już robiłem coś podobnego
ale pod Win98 a to zupełnie inna sprawa... [...]

Jesli pod 98 dziala to czemu nie dziala pod np. XP? mozna znalezc sciezke windowsa i uruchomic explorer (cmd jest w folderze system)

0

... zapomnialem jak to się odpalało.
Jak biore np.
WinExec('explorer.exe B.exe', sh_Show);
to nie odpala...

// nie korzystaj z WinExec, ta funkcja jest przestarzała - ŁF

0

a moze shellexecute?

0

Jak włącze Menadzera zadań, zaznacze A i klikne "Zakończ drzewo procesów" to zamyka A i B... Jak to ominąć?

Tylko po co Ci omijanie tego? W zasadzie procesy tłucze się nie w całym drzewku, tylko pojedynczo, więc czy mógłbyś mi wytłumaczyć, po co Ci zabezpieczenie przed zamykaniem całego drzewa procesów?

Poza tym - jeśli chcesz uruchomić program poprzez inny program (A->B->C), to i tak będziesz jego włascicielem (A jest rodzicem B, więc i rodzicem C), a więc przy zamykaniu drzewa procesów A i tak program C zostanie utłuczony.

0

co do tego (A->B->C) :-/ :-/ :-/
sprawdz sobie taskmgr...

a co do mojego pytania...:

WinExec('cmd /c A.exe', sw_Hide);

// nie cytuj wszystkiego - ŁF

0

sprawdz sobie taskmgr...

raz mi się nie chciało sprawdzić, i teraz mam za swoje. faktycznie, inaczej niż w Linuksie, W2k po zabiciu rodzica procesu nie przekazuje dziecka "piętro wyżej", tylko... potomek traci w ogóle rodzica! zostaje sierotką ;-( bez sensu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1