Process.Refresh メソッド
アセンブリ: System (system.dll 内)


Refresh を呼び出した後、各プロパティに関する情報が最初に要求されたときに、プロセス コンポーネントは関連付けられたプロセスから新しい値を取得します。
Process コンポーネントがプロセス リソースに関連付けられている場合、Process のプロパティ値は関連付けられたプロセスのステータスに従ってすぐに設定されます。関連付けられたプロセスに関する情報が後で変更された場合、これらの変更は Process コンポーネントのキャッシュされた値には反映されません。Process コンポーネントは、関連付けられた時点でのプロセス リソースのスナップショットです。関連付けられたプロセスの現在の値を表示するには、Refresh メソッドを呼び出します。

メモ帳のインスタンスを起動する例を次に示します。このコードは、インスタンスが起動すると、2 秒間隔で最大 10 秒間、関連付けられているプロセスの物理メモリ使用量を取得します。また、10 秒が経過する前にプロセスが終了したかどうかを検知します。10 秒経過した後もプロセスが実行中である場合は、プロセスを終了します。
Imports System Imports System.Diagnostics Imports System.Threading Namespace Process_Sample Class MyProcessClass Public Shared Sub Main() Try Dim myProcess As Process myProcess = Process.Start("Notepad.exe") ' Display physical memory usage 5 times at intervals of 2 seconds. Dim i As Integer For i = 0 To 4 If not myProcess.HasExited Then ' Discard cached information about the process. myProcess.Refresh() ' Print working set to console. Console.WriteLine("Physical Memory Usage: " + _ myProcess.WorkingSet.ToString()) ' Wait 2 seconds. Thread.Sleep(2000) Else Exit For End If Next i ' Close process by sending a close message to its main window. myProcess.CloseMainWindow() ' Free resources associated with process. myProcess.Close() Catch e As Exception Console.WriteLine("The following exception was raised: ") Console.WriteLine(e.Message) End Try End Sub 'Main End Class 'MyProcessClass End Namespace 'Process_Sample
using System; using System.Diagnostics; using System.Threading; namespace Process_Sample { class MyProcessClass { public static void Main() { try { Process myProcess; myProcess = Process.Start("Notepad.exe"); // Display physical memory usage 5 times at intervals of 2 seconds. for (int i = 0;i < 5; i++) { if (!myProcess.HasExited) { // Discard cached information about the process. myProcess.Refresh(); // Print working set to console. Console.WriteLine("Physical Memory Usage: " + myProcess.WorkingSet.ToString()); // Wait 2 seconds. Thread.Sleep(2000); } else { break; } } // Close process by sending a close message to its main window. myProcess.CloseMainWindow(); // Free resources associated with process. myProcess.Close(); } catch(Exception e) { Console.WriteLine("The following exception was raised: "); Console.WriteLine(e.Message); } } } }
#using <System.dll> using namespace System; using namespace System::Diagnostics; using namespace System::Threading; int main() { try { Process^ myProcess; myProcess = Process::Start( "Notepad.exe" ); // Display physical memory usage 5 times at intervals of 2 seconds. for ( int i = 0; i < 5; i++ ) { if ( !myProcess->HasExited ) { // Discard cached information about the process. myProcess->Refresh(); // Print working set to console. Console::WriteLine( "Physical Memory Usage : {0}", myProcess->WorkingSet.ToString() ); // Wait 2 seconds. Thread::Sleep( 2000 ); } else { break; } } myProcess->CloseMainWindow(); // Free resources associated with process. myProcess->Close(); } catch ( Exception^ e ) { Console::WriteLine( "The following exception was raised: " ); Console::WriteLine( e->Message ); } }


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, 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.Refresh メソッドを検索する場合は、下記のリンクをクリックしてください。

- Process.Refresh メソッドのページへのリンク