- ベストアンサー
SetPriorityClassで「通常以上」「通常以下」にする方法
開発環境:Windows2000(SP4)、VC6(SP??) 現在、SetPriorityClassを使用してプロセス優先度を設定しようとしているのですが、「通常以上」,「通常以下」の設定だけ出来ません(リアルタイムや高などはできるのに・・・) SetPriorityClassの第2引数に「通常以上」または「通常以下」の定数をしてコンパイルすると「定義されていない識別子にです。」と出ます。 何かincludeしたりしなくてはいけないのでしょうか? お分かりの方がいらしたら、ご教授願います。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
SetPriorityClassはプロセスの優先度で、受け付けるのは、 HIGH_PRIORITY_CLASS、IDLE_PRIORITY_CLASS、 NORMAL_PRIORITY_CLASS、REALTIME_PRIORITY_CLASS で、通常以上・以下は含まれていません。 そちらは、SetThreadPriorityを使います。 それだと、THREAD_PRIORITY_LOWESTなどが指定できます。 ちなみに、定義されていない識別子とされた定数って 何を指定されましたか? 最終的には、プロセスの優先順位クラスと、スレッド の相対優先順位でスレッドの基本優先順位が決まるの だそうです。
その他の回答 (1)
- taka_tetsu
- ベストアンサー率65% (1020/1553)
>開発環境:Windows2000(SP4)、VC6(SP??) Win2000以降でしか使用不可な定数ということは、Win2000発売前の製品であるVC++6には定義が存在しません。 最新のPlatformSDKをインストールしてください。 http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
お礼
回答、ありがとうございます。 さきほど自己解決してしまいました・・・笑 定数を使用せず直接、値を入れて実行したら「通常以上」「通常以下」が設定できました。 ちょっとプログラム的には不細工ですがこれで行こうと思います。 ありがとうございました。
お礼
早速の回答ありがとうございます。 指定した定数はABOVE_NORMAL_PRIORITY_CLASSとBELOW_NORMAL_PRIORITY_CLASSです。 SetThreadPriorityですかぁ。試してみようと思います。 ありがとうございます。