I don't believe there's any way of getting at other managed threads (i.e. Thread
objects) within normal code. A debugger API would doubtless let you get at it, but there's nothing in the normal framework.
ProcessThread
does have the PriorityLevel
property though... if you know that the thread has set itself to "above normal" could you perhaps detect it that way and reset it? Do you know of any other threads in your process which will be "above normal"? Could you take a snapshot of all the thread IDs in your process before you call into the third party code, and try to work out which one is the new one that way?