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 GetThreadDesktop gibt 0 zurück bei Threads auf anderem Desk (https://www.delphipraxis.net/61426-getthreaddesktop-gibt-0-zurueck-bei-threads-auf-anderem-desk.html)

SirThornberry 21. Jan 2006 12:10


GetThreadDesktop gibt 0 zurück bei Threads auf anderem Desk
 
Hallo,

Ich hab mir mit "CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0)" eine Liste aller Threads geholt. Nun wollte ich jedoch wissen zu welchem Desktop die Threads gehören.
Dazu habe ich die funktion "GetThreadDesktop" verwendet. Diese funktioniert soweit auch ganz gut, allerdings nur für Threads die sich auf dem aktuellen Desktop befinden, ansonsten liefert mir GetThreadDeskop 0 zurück und RaiseLastOSError sagt: "Falscher Parameter"
Es scheint also das GetThreadDesktop nur die Threads aus dem aufrufenden Desktop kennt.

Wie bekomme ich also für die anderen Threads den Desktop heraus?

SirThornberry 21. Jan 2006 13:45

Re: GetThreadDesktop gibt 0 zurück bei Threads auf anderem D
 
Das Problem hat sich gelöst. Um GetThreadDesktop auf eine ThreadID anwenden zu können muss man sich auf dem entsprechenden Desktop befinden oder ein Handle mit GENERIC_ALL auf diesen Offen haben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:07 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