Process.BasePriority プロパティ
アセンブリ: System (system.dll 内)


例外の種類 | 条件 |
---|---|
PlatformNotSupportedException | プラットフォームが Windows 98 または Windows Millennium Edition (Windows Me) です。Windows 98 や Windows Me でこのプロパティにアクセスするには、ProcessStartInfo.UseShellExecute を false に設定します。 |
InvalidOperationException | または |

プロセスの BasePriority は、関連付けられたプロセスで作成されるスレッドの初期優先順位です。基本優先順位に関する情報は、システム モニタの Priority Base カウンタに表示されます。
経過時間またはその他の要因に基づき、プロセスを他のプロセスよりも先に処理する必要があると判断された場合、オペレーティング システムが基本優先順位を変更することがあります。
BasePriority プロパティによって、プロセスに割り当てられた初期優先順位を表示できます。ただし、読み取り専用であるため、プロセスの優先順位の設定に BasePriority を使用することはできません。優先順位を変更するには、PriorityClass プロパティを使用します。BasePriority はシステム モニタを使用して表示できますが、PriorityClass は表示できません。BasePriority と PriorityClass はどちらも、プログラムで表示できます。BasePriority 値と PriorityClass 値の関係を次の表に示します。
Windows 98, Windows Millennium Edition プラットフォームメモ : ProcessStartInfo.UseShellExecute に true を設定してプロセスを開始した場合、このプロパティは、このプラットフォームでは利用できません。

メモ帳のインスタンスを起動する例を次に示します。この例では、インスタンスの起動後、関連付けられているプロセスのさまざまなプロパティが取得および表示されます。その後、プロセスの終了を検知し、プロセスの終了コードを表示します。
Imports System Imports System.Diagnostics Namespace ProcessSample Class ProcessMonitorSample Public Shared Sub Main() ' Define variables to track the peak ' memory usage of the process. Dim peakPagedMem As Long = 0 Dim peakWorkingSet As Long = 0 Dim peakVirtualMem As Long = 0 Dim myProcess As Process = Nothing Try ' Start the process. myProcess = Process.Start("NotePad.exe") ' Display process statistics until ' the user closes the program. Do If Not myProcess.HasExited Then ' Refresh the current process property values. myProcess.Refresh() Console.WriteLine() ' Display current process statistics. Console.WriteLine("{0} -", myProcess.ToString()) Console.WriteLine("-------------------------------------") Console.WriteLine(" physical memory usage: {0}", _ myProcess.WorkingSet64) Console.WriteLine(" base priority: {0}", _ myProcess.BasePriority) Console.WriteLine(" priority class: {0}", _ myProcess.PriorityClass) Console.WriteLine(" user processor time: {0}", _ myProcess.UserProcessorTime) Console.WriteLine(" privileged processor time: {0}", _ myProcess.PrivilegedProcessorTime) Console.WriteLine(" total processor time: {0}", _ myProcess.TotalProcessorTime) ' Update the values for the overall peak memory statistics. peakPagedMem = myProcess.PeakPagedMemorySize64 peakVirtualMem = myProcess.PeakVirtualMemorySize64 peakWorkingSet = myProcess.PeakWorkingSet64 If myProcess.Responding Then Console.WriteLine("Status = Running") Else Console.WriteLine("Status = Not Responding") End If End If Loop While Not myProcess.WaitForExit(1000) Console.WriteLine() Console.WriteLine("Process exit code: {0}", myProcess.ExitCode) ' Display peak memory statistics for the process. Console.WriteLine("Peak physical memory usage of the process: {0}", _ peakWorkingSet) Console.WriteLine("Peak paged memory usage of the process: {0}", _ peakPagedMem) Console.WriteLine("Peak virtual memory usage of the process: {0}", _ peakVirtualMem) Finally If Not myProcess Is Nothing Then myProcess.Close End If End Try End Sub 'Main End Class End Namespace
using System; using System.Diagnostics; namespace ProcessSample { class ProcessMonitorSample { public static void Main() { // Define variables to track the peak // memory usage of the process. long peakPagedMem = 0, peakWorkingSet = 0, peakVirtualMem = 0; Process myProcess = null; try { // Start the process. myProcess = Process.Start("NotePad.exe"); // Display the process statistics until // the user closes the program. do { if (!myProcess.HasExited) { // Refresh the current process property values. myProcess.Refresh(); Console.WriteLine(); // Display current process statistics. Console.WriteLine("{0} -", myProcess.ToString()); Console.WriteLine("-------------------------------------"); Console.WriteLine(" physical memory usage: {0}" , myProcess.WorkingSet64); Console.WriteLine(" base priority: {0}", myProcess.BasePriority); Console.WriteLine(" priority class: {0}", myProcess.PriorityClass); Console.WriteLine(" user processor time: {0}" , myProcess.UserProcessorTime); Console.WriteLine(" privileged processor time: {0}" , myProcess.PrivilegedProcessorTime); Console.WriteLine(" total processor time: {0}" , myProcess.TotalProcessorTime); // Update the values for the overall peak memory statistics. peakPagedMem = myProcess.PeakPagedMemorySize64; peakVirtualMem = myProcess.PeakVirtualMemorySize64; peakWorkingSet = myProcess.PeakWorkingSet64; if (myProcess.Responding) { Console.WriteLine("Status = Running"); } else { Console.WriteLine("Status = Not Responding"); } } } while (!myProcess.WaitForExit(1000)); Console.WriteLine(); Console.WriteLine("Process exit code: {0}", myProcess.ExitCode); // Display peak memory statistics for the process. Console.WriteLine("Peak physical memory usage of the process: {0}", peakWorkingSet); Console.WriteLine("Peak paged memory usage of the process: {0}" , peakPagedMem); Console.WriteLine("Peak virtual memory usage of the process: {0}", peakVirtualMem); } finally { if (myProcess != null) { myProcess.Close(); } } } } }
#using <system.dll> using namespace System; using namespace System::Diagnostics; int main() { // Define variables to track the peak // memory usage of the process. _int64 peakPagedMem = 0,peakWorkingSet = 0,peakVirtualMem = 0; Process^ myProcess = nullptr; try { // Start the process. myProcess = Process::Start( "NotePad.exe" ); // Display the process statistics until // the user closes the program. do { if ( !myProcess->HasExited ) { // Refresh the current process property values. myProcess->Refresh(); Console::WriteLine(); // Display current process statistics. Console::WriteLine( "{0} -", myProcess ); Console::WriteLine( "-------------------------------------" ); Console::WriteLine( " physical memory usage: {0}", myProcess->WorkingSet64 ); Console::WriteLine( " base priority: {0}", myProcess->BasePriority ); Console::WriteLine( " priority class: {0}", myProcess->PriorityClass ); Console::WriteLine( " user processor time: {0}", myProcess->UserProcessorTime ); Console::WriteLine( " privileged processor time: {0}", myProcess->PrivilegedProcessorTime ); Console::WriteLine( " total processor time: {0}", myProcess->TotalProcessorTime ); // Update the values for the overall peak memory statistics. peakPagedMem = myProcess->PeakPagedMemorySize64; peakVirtualMem = myProcess->PeakVirtualMemorySize64; peakWorkingSet = myProcess->PeakWorkingSet64; if ( myProcess->Responding ) { Console::WriteLine( "Status = Running" ); } else { Console::WriteLine( "Status = Not Responding" ); } } } while ( !myProcess->WaitForExit( 1000 ) ); Console::WriteLine(); Console::WriteLine( "Process exit code: {0}", myProcess->ExitCode ); // Display peak memory statistics for the process. Console::WriteLine( "Peak physical memory usage of the process: {0}", peakWorkingSet ); Console::WriteLine( "Peak paged memory usage of the process: {0}", peakPagedMem ); Console::WriteLine( "Peak virtual memory usage of the process: {0}", peakVirtualMem ); } finally { if ( myProcess != nullptr ) { myProcess->Close(); } } }


Windows 98, Windows 2000 SP4, Windows CE, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からProcess.BasePriority プロパティを検索する場合は、下記のリンクをクリックしてください。

- Process.BasePriority プロパティのページへのリンク