Entwickler-Ecke

Windows API - Thread id des Mainthreads


Boldar - Sa 20.03.10 15:58
Titel: Thread id des Mainthreads
Hallo,
ich stehe grade voll auf dem Schlauch:
Wie ermittele ich die Thread-id des Mainthreads aus der Process-id?
mfg Boldar


Delete - Sa 20.03.10 21:11

Gar nicht. Es gibt keinen MainThread.


Delphi-Laie - So 21.03.10 08:08

user profile iconLuckie hat folgendes geschrieben Zum zitierten Posting springen:
Gar nicht. Es gibt keinen MainThread.


Naja, ist es nicht aber so, daß ein Prozeß (grundsätzlich? immer?) mit einem Thread gestartet wird und dieser eine Startthread dann zur Laufzeit ggf. weitere Threads (innerhalb dieses Prozesses) erzeugt? Vielleicht ist ja das gemeint?! Oder kann ein Prozeß schon mit mehr als einem Thread starten?


Boldar - So 21.03.10 11:33

Also, so wie user profile iconDelphi-Laie meinte ich das.
Mir würde es aber schon reichen, alle Threads aufzurufen, dann kann ich den entsprechenden selber finden.
Ich glaube, da gibt es irgendsowas mit enum..., aber wie heisst die prozedur genau?
mfg Boldar


Delete - So 21.03.10 14:11

Ja natürlich gibt es einen Thread, der nach dem Erzeugen des Prozesses gestartet wird, der dann den Code ausführt. Nur unterscheidet sich dieser nicht von den anderen Threads, weder durch seine ID noch durch sonst etwas. Innerhalb eines Prozesses sind alle Threads gleich.

Die Threads eines Prozesses kannst du mittels CreateToolHelpSnapshot ermitteln.


Delphi-Laie - So 21.03.10 18:12

user profile iconBoldar hat folgendes geschrieben Zum zitierten Posting springen:
Also, so wie user profile iconDelphi-Laie meinte ich das.
Mir würde es aber schon reichen, alle Threads aufzurufen, dann kann ich den entsprechenden selber finden.
Ich glaube, da gibt es irgendsowas mit enum..., aber wie heisst die prozedur genau?
mfg Boldar


Ich rege vorsichtig an, daß Du Dir mein Programm „Prozesse“ (auch in diesem Forum zu finden) besorgst. Es verein(ig)t mehrere Schnappschüsse und Enumerationen zwecks Anzeige in Stringgrids, auf mehrere Formulare verteilt. Müßtest Du das für Dich passable im Quellcode entnehmen können. Auch zu Kontrollzwecken könnte das Programm dienen.