2013-04-25 215 views
0

我正在爲Win CE開發一個rt驅動程序,並且爲了實現我的目的,我需要能夠更改線程的優先級。然而問題是,我沒有特別感謝Microsoft的源代碼!因此,我無法將線程的優先級設置在創建的位置。通過了解線程的優先級來設置線程的優先級

目前我所知道的是我從Visual Sudio的線程窗口中讀取的線程名(線程名)。 (pThread,hThread值總是改變,所以我不能使用它們,只有靜態的東西是線程名。)我可以通過只知道它的名字給線程賦值嗎? (我可以通過知道它的名字找到它唯一的線程ID嗎?)我檢查了線程的內置函數,它存在一個GetCurrentThread函數,它爲調用線程檢索一個僞句柄。但是,它不適合我。因爲將來我不能確定當前的線程是我想要的線程。因此我可以設置不同的線程優先級。

總結:有沒有辦法通過只知道其線程名稱來設置線程的優先級?

問候,

Xentius

+0

「pThread,hThread值總是變化,因此我無法使用它們。」上面這句話是什麼意思?一個線程的句柄經常變化嗎?我認爲這不會發生。但對於不同的進程,線程處理是不同的。 – akhil 2013-04-25 07:48:15

回答

1

看來你不能猜測線程ID與名稱,但你可以嘗試使用CreateToolhelp32Snapshot函數,你可以列出所有的線程或進程,在那裏你可以猜測processid如果你知道進程名稱,那麼你可以嘗試匹配屬於這個過程的線程。 祝你好運!