Autor Beitrag
Bayo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: Do 29.01.04 19:57 
Hi zusammen..

Ich bin auf folgendes Problem gestossen, dass ich leider nicht lösen kann und hoffe, dass ihr mir evtl. weiterhelfen könnt!?:

Mit dem funktion GetWindowThreadProcessId finde ich die ThreadId eines bestimmten Fensters heraus. Jetzt würde ich gerne die Priorität des Threads, der dieses Fenster erzeugte, erhöhen. Dafür kann ich grundsätzlich die funktion SetThreadPriority verwenden, die als Parameter jedoch das Handle und nicht die Id auf den entsprechenden Thread erwartet. Ich habe gehofft, dass eine weitere Funktion gibt, die mir aus der Id das Handle zurück gibt aber.. habe leider nichts gefunden :-(

Vielleicht hatte jemand von euch schon mal ein ähndliches Problem!? Freue mich über jede Antwort!

Grüsse Dominic
Tana´Ri
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 230



BeitragVerfasst: Fr 30.01.04 09:12 
siehe PSDK
Zitat:

BOOL EnumThreadWindows(
DWORD dwThreadId,
WNDENUMPROC lpfn,
LPARAM lParam
);

_________________
mfg
Tana´Ri
Bayo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: Fr 30.01.04 09:59 
Die Funktion EnumThreadWindows gibt alle Fenster-Handels des angegebenen Threas zurück!

Das Fenster-Handle kenne ich aber schon! Ich habe eine Thread-Id und möchte das Handle auf den entsprechenden Thread! Um den Unterschied zu verdeutlichen:

Für den aktuellen Thread gibt es folgende zwei Funktionen:

GetCurrentThreadId: gibt die Id auf den aktuellen Thread zurück!
GetCurrentThread: gibt das Handle auf den aktuellen Thread zurück!

Da es bei mir nicht um den aktuellen Thread geht, greife ich auf die Funktion GetWindowThreadProcessId zurück, die mir aber nur die Thread-Id zurück gibt! In vielen Fällen erwarten die Windows-Funktionen aber das Handle auf den Thread und nicht die Id! Leider habe ich bis jetzt noch keinen Weg gefunden von der Id zum Handle zu kommen!?

Trotzdem vielen Dank für die Antwort!
Tana´Ri
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 230



BeitragVerfasst: Fr 30.01.04 11:05 
The OpenThread function opens an existing thread object.

ausblenden Quelltext
1:
2:
3:
4:
5:
HANDLE OpenThread(
  DWORD dwDesiredAccess,
  BOOL bInheritHandle,
  DWORD dwThreadId
);


Moderiert von user profile iconMotzi: Code-Tags hinzugefügt

_________________
mfg
Tana´Ri
Motzi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2931

XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
BeitragVerfasst: Fr 30.01.04 12:26 
OpenThread gibt es aber erst ab Win2000 bzw WinME.. für frühere Versionen muss man sich diese Funktion mit Hilfe von nativen APIs nachbauen...

_________________
gringo pussy cats - eef i see you i will pull your tail out by eets roots!