Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Desktop einer anderen Anwendung herausbekommen (https://www.delphipraxis.net/17279-desktop-einer-anderen-anwendung-herausbekommen.html)

Vjay 2. Mär 2004 15:18


Desktop einer anderen Anwendung herausbekommen
 
Hallo, nun auch mal eine Frage von mir.

Und zwar habe ich mir ein schönes Programm programmiert, dass per CreateDesktop verschiedene Desktops erzeugt und darauf andere Prozesse laufen lässt (die wiederrum Unterprozesse starten).

Soweit so gut, nachdem die Prozesse abgelaufen sind, werden sie terminiert und der jeweilige Desktop zerstört.

Wenn die Prozesse sich aber nun aufhängen, muss ich sie samt Unterprozesse selbst zerstören - was aber nicht so einfach ist, denn ich kann die Prozessliste nicht einfach per Namen durchsuchen, weil einige der Prozesse (mit Unterprozessen) auf anderen virtuellen Desktops parallel laufen.

Daher die Frage: Wie bekomme ich raus, auf welchem Desktop ein Prozess läuft?

"GetThreadDesktop" gibt mir das zwar für einen Thread zurück, aber dafür brauche ich dann ja die Threadid des Hauptthreads der Anwendungen, wie komm ich da ran? (Ist das so richtig gedacht? Ja oder?)

Ps. um Antworten die mir nichts nützen zu reduzieren( ;) ), ich kann nicht bei CreateProcess die ThreadID irgendwo speichern und später verwenden, da die Prozesse, wie gesagt ihre eigenen Unterprozesse starten.

Nun bin ich mal gespannt ob mir da wer weiterhelfen kann :)

Vjay 2. Mär 2004 15:27

Re: Desktop einer anderen Anwendung herausbekommen
 
Habs selbst gelöst bekommen.

Thread32First(HANDLE hSnapshot, LPTHREADENTRY32 lpte);

finito. Danke fürs lesen ^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:45 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz