THREADENTRY32スレッドについて


TOYAMA  2008-03-23 11:24:57  No: 67886

質問があります。
Process32FirstとProcess32Nextで取得したProcessIDを
THREADENTRY32のThread32FirstとThread32Nextで取得した
th32OwnerProcessIDとProcessIDの一致したスレッドの優先順位を変更することは可能なのでしょうか。
現在実行しているアプリケーションのプロセスのスレッドを取得してスレッド優先順位
を変更することは可能なのでしょうか。プロセスのスレッドとはどういうことなのでしょうか。
宜しくお願いします。


そだ  2008-03-23 14:28:36  No: 67887

>現在実行しているアプリケーションのプロセスのスレッドを取得してスレッド優先順位
>を変更することは可能なのでしょうか。プロセスのスレッドとはどういうことなのでしょうか。

スレッド優先順位を変えるにはSetThreadPriorityという関数があります。
ただしスレッドに割り当てられたアクセス権によってはこの関数を使っても変更できません。
詳しくはMSDNのSetThreadPriorityとCreateThreadの項目を読んでください。


TOYAMA  2008-03-23 16:56:50  No: 67888

返答有難うございます。
OSはWindowsMeでVisualC++6.0Professionalを使用してOpenThreadは使えますでしょうか。


そだ  2008-03-23 17:31:14  No: 67889

英語版のMSDNに書いてあります。
Requirements
Client: Requires Windows XP, Windows 2000 Professional, or Windows Me.


そだ  2008-03-23 17:53:25  No: 67890

オンライン版と記述が異なっています。
Requirements
Client: Requires Windows Vista, Windows XP, or Windows 2000 Professional. 

動かないのかMeの記述をやめただけなのかは存じません。


TOYAMA  2008-03-25 10:23:02  No: 67891

お聞きしたいことがあります。
デバッグAPIを使ってスレッドハンドルを取得することは可能なのでしょうか。
自アプリのOpenProcessでPROCESS_ALL_ACCESSでオープンしたプロセスIDで以下のようにアタッチ
RetValue = DebugActiveProcess( V98ProcessID );
してみたのですがRetValueでFALSEが返ってしまいます。VC++のデバッグモードで確認しました。OpenProcessはプロセスハンドルが返ってきます。
何か問題があるような気がするのですが対処方法が分かりません。どなたか宜しくお願いします。


そだ  2008-03-25 20:28:08  No: 67892

GetLastError の結果はどのような感じでしょうか。


※作成する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。







   このエントリーをはてなブックマークに追加