Process.Modules Property

 

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

Namespace:   System.Diagnostics
Assembly:  System (in System.dll)

[BrowsableAttribute(false)]
public ProcessModuleCollection Modules { get; }

Property Value

Type: System.Diagnostics.ProcessModuleCollection

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

Exception Condition
NotSupportedException

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.

InvalidOperationException

The process Id is not available.

PlatformNotSupportedException

The platform is Windows 98 or Windows Millennium Edition (Windows Me); set ProcessStartInfo.UseShellExecute to false to access this property on Windows 98 and Windows Me.

Win32Exception

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

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.

Win98WinMe

This property is not available on this platform if you started the process with ProcessStartInfo.UseShellExecute set to true.

LinkDemand

for full trust for the immediate caller. This member cannot be used by partially trusted code.

.NET Framework
Available since 1.1
Return to top
Show: