Process.MainModule Property


Gets the main module for the associated process.

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

public ProcessModule MainModule { get; }

Property Value

Type: System.Diagnostics.ProcessModule

The ProcessModule that was used to start the process.

Exception Condition

You are trying to access the MainModule 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.


A 32-bit process is trying to access the modules of a 64-bit process.


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.


The process Id is not available.


The process has exited.

A process module represents a.dll or .exe file that is loaded into a particular process. The MainModule property lets you view information about the executable used to start the process, including the module name, file name, and module memory details.


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


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