Process.Modules Property

Definition

Gets the modules that have been loaded by the associated process.

public:
 property System::Diagnostics::ProcessModuleCollection ^ Modules { System::Diagnostics::ProcessModuleCollection ^ get(); };
public System.Diagnostics.ProcessModuleCollection Modules { get; }
[System.ComponentModel.Browsable(false)]
public System.Diagnostics.ProcessModuleCollection Modules { get; }
member this.Modules : System.Diagnostics.ProcessModuleCollection
[<System.ComponentModel.Browsable(false)>]
member this.Modules : System.Diagnostics.ProcessModuleCollection
Public ReadOnly Property Modules As ProcessModuleCollection

Property Value

An array of type ProcessModule that represents the modules that have been loaded by the associated process.

Attributes

Exceptions

You are attempting to access the Modules property for a process that is running on a remote computer. This property is available only for processes that are running on the local computer.

The process Id is not available.

You are attempting to access the Modules property for either the system process or the idle process. These processes do not have modules.

Remarks

The value returned by this property represents the most recently refreshed modules. To get the most up to date information, you need to call Refresh() method first.

A process module represents a.dll or .exe file that is loaded into a particular process. A ProcessModule instance lets you view information about a module, including the module name, file name, and module memory details.

A process can load multiple modules into memory. For example,.exe files that load additional .dll files have multiple modules.

After starting the process, this collection is empty until the system has loaded the process. If the process has a main window, you can call WaitForInputIdle before retrieving this property to ensure that the collection is nonempty when you get the list.

Applies to

See also