プロセスの優先度をスクリプトで変更
動画などのフォーマット変換などのリアルタイム性の低いソフトはCPUの空き時間にのみ行えるように、特定のプロセスの優先順位を変更するスクリプトを作成してみました。
WMIを使用するとアプリケーションの起動・終了や各種イベントの取得などができます。
これを利用して優先度を変更するスクリプトを作成します。
SINK_OnObjectReadyはWindowsが呼び出したくれるのでメインプログラムは何もする必要がありません。そのため、このプログラムでは意味のない無限ループになっています。
WMIを使用するとアプリケーションの起動・終了や各種イベントの取得などができます。
これを利用して優先度を変更するスクリプトを作成します。
- initProcessStartTrace関数によりプロセスの起動の監視を開始します。プロセスが起動するとコールバック関数SINK_OnObjectReadyがWindowsにより呼び出されるように登録します。
- SINK_OnObjectReady関数はWindowsにより呼び出されます。関数は起動したプロセスの名前を確認しターゲットの関数であれば優先度を変更します。
SINK_OnObjectReadyはWindowsが呼び出したくれるのでメインプログラムは何もする必要がありません。そのため、このプログラムでは意味のない無限ループになっています。
