Windowsで起動するプログラムの優先度を変更する方法:Tech TIPS(2/2 ページ)
Windowsでは、実行するプログラム(プロセス)それぞれに「優先度」が設定される。他のプロセスの優先度が上がると、優先度の低いプロセスはその影響を受けて、実行が滞ってしまうことがある。そんなとき、優先度を手動で変更する方法は?
●デフォルト優先度の変更
タスクマネージャを使った優先度の変更は、プログラムを起動後にいちいち行う必要があるのでかなり煩わしいだろう。そこで最初から高い優先度でプログラムを起動するようにしてみよう。
これを行う一番簡単な方法は「コマンド プロンプト」を使うことである(これ以外にはC言語などでアプリケーションを起動するためのランチャー・プログラムを作成するという方法もある。Windows 9x/Meでは以下の方法が使えないので、そのようなプログラムを作成する必要があるだろう)。試しに、[スタート]メニューから[プログラム]−[アクセサリ]−[コマンド プロンプト]を起動して、以下のようなコマンドを入力してみよう(下線部を入力して最後に「Enter」キーを押すこと)。コマンド プロンプトの使い方の詳細については、連載「Windows 2000 コマンドライン徹底活用」を参照していただきたい。
C:\>start /high notepad.exe
「start」コマンドは、指定したプログラム(ここでは「メモ帳」である「notepad.exe」)を、与えられた優先度で起動するためのものである。startコマンドにはさまざまなオプションが指定できるが(詳細は「start /?」を実行すると表示される)、「/high」は優先度「高」を表している。これにより、メモ帳が優先度「高」で起動される。もちろん「高」にしたからといって、その他の通常のプログラムの動きがすべて止まってしまったりするわけではないので、安心して実行してみて欲しい(メモ帳では、ほとんどの時間はユーザーからの入力待ちになっていて、CPU時間はほとんど消費しないから)。なお、この“start /high notepad.exe”というコマンド文字列を[スタート]メニューの[ファイル名を指定して実行]のダイアログボックスに入力して実行してもよいが、入力ミスなどがあってもエラーが表示されないので(正確には一瞬表示されて、すぐにコマンド プロンプトが閉じてしまう)、最初はコマンド プロンプト上で試行するのがよいだろう。
startコマンドを使って、WinDVRを優先度「高」で起動するには、理論的には以下のようにすれば可能なはずである。ここでWinDVR自体は「C:\Program Files\Intervideo\WinDVR\WinDvr.exe」にインストールされているものとする。
C:\>start /high "C:\Program Files\Intervideo\WinDVR\WinDvr.exe"
実際にこれをコマンドプロンプト上で(もしくは[スタート]メニューの[ファイル名を指定して実行]から)実行しても、なぜかコマンド プロンプトのウィンドウが新しく表示されるだけで、WinDVRは実行されない。ファイル名の中に空白文字が含まれているので「" "」記号でパス名全体を囲んでいるのだが、「/high」などのオプションと組み合わせると、これでは動作しないようである。オプションを「"/high"」というふうに、「" "」記号で囲むと意図したとおりに動くこともあるが、環境によってはやはり動かないこともあるようだ。
これを確実に動くようにするには、ファイル名を空白を含まない8.3形式に直して、「" "」で囲まない形にすればよいようである。今回の例では「C:\Program Files」を「C:\Progra~1」とする。なおstartコマンドは、実際にはコマンド プロンプト(CMD.EXE)の持つ内部コマンドなので、ショートカットなどから起動するためには、先頭にさらに「cmd.exe /c」を付ける必要がある。
C:\>cmd.exe /c start /high C:\Progra~1\Intervideo\WinDVR\WinDvr.exe
ロングファイル名と8.3形式のファイル名がどのように対応しているかを調べるには、コマンドプロンプト上で「dir /x」コマンドを実行して確認していただきたい。
以上のコマンドを簡単に実行できるように、デスクトップやタスクバーのクイック起動バー上にショートカットを置いておくとよいだろう。新規にショートカットを作成するには、デスクトップ上で右クリックしてポップアップ・メニューから、[新規作成]−[ショートカット]を選択し、[ショートカットの作成]ダイアログボックスに、上記のパスを入力する。ただしこのままだとアイコンがcmd.exeのものになってしまうので、これを変更しないと見栄えが悪いだろう。そこでもう1つの方法として、オリジナルのメニュー項目をデスクトップ上にコピーしておいて(メニュー上の目的のアイコンを右クリックしてデスクトップ上にドラッグし、[ここにコピー]を選択する)、そのアイコンのプロパティを表示して、[リンク先]フィールドを書き換える方法もある。[作業フォルダ]や[アイコンの変更]フィールドの設定を行う必要がないので、この方が簡単だろう。元の([スタート]メニュー上にある)プログラム起動用ショートカットを直接変更してもよいが、起動しなくなったりした場合に元に戻せなくなると困るので、以上のように、新規に起動用のショートカットを作成するのが望ましい。
優先度を変えて起動するためのショートカットの作成
最初に[スタート]メニューから目的のプログラム項目(この場合は[スタート]メニューの[プログラム]−[InterVideo WinDVR]−[InterVideo WinDVR]アイコン)を選択し、それを右クリックしてデスクトップ上にドラッグしてから、[ここにコピー]を選択する。このアイコンを右クリックして、[プロパティ]を表示させる。
(1)アイコンは元のまま変更しない。
(2)この[リンク先]のフィールドに、先ほどのコマンドを入力する。もともと入っていたコマンドの先頭に “cmd.exe /c start /high ” を追加し、さらに元のパス名を8.3形式になるように変更する(パス名を囲んでいた「"」記号は取り除くこと)。
(3)作業フォルダも元のまま残しておく。
(4)これを押すとショートカットが更新されるが、もう一度プロパティを表示させると、(2)の先頭にある「cmd.exe」は次のように「C:\WINNT\system32\CMD.EXE」などというフルパス名に変換されているはずなので、それを確認しておくこと。
以上のようにして作成したショートカットをダブルクリックしてプログラムを起動し、正しく優先度が「高」になっているかどうかをタスクマネージャで確認しておく。
ところでこのWinDVRでは、ユーザーが手動で起動する以外に、あらかじめ決められたスケジュール(録画予約)に基づいて自動的に起動、録画を開始する方法もある。しかしログオン後は、今作成したショートカットを手動で起動するのを忘れないようにしていただきたい。[スタート]メニューの[スタートアップ]に登録されているWinDVRのスケジューラ・プログラム(InterVideo WinScheduler)から起動されると、たとえスケジューラの優先度をあらかじめ「高」にしておいても、WinDVRの優先度は「通常」になってしまうからである。
■関連リンク
- Windows のパフォーマンス オプションの説明(Microsoft)
- WinDVR ARENA/WinDVR ARENA MAX(InfoMagic)
- GV-BCTV4/PCI(アイ・オー・データ機器)
■この記事と関連性の高い別の記事
- 仮想マシンの実行優先度を調整する(Virtual PC 2004編)(TIPS)
- Windows OSでよく見かける重いプロセス、ベスト10(TIPS)
- これだけは覚えておきたいWindowsのコマンドプロンプトの使い方(TIPS)
- Windows 8/8.1で自動起動されるスタートアッププログラムを無効化する(TIPS)
- 一時的にほかのユーザー権限でプログラムを実行する方法(ショートカットのプロパティを利用する方法)(TIPS)
Copyright© Digital Advantage Corp. All Rights Reserved.