// ProcessModule class MyProcess2 { public static void Main() { Process myProcess = new Process(); // Get the process start information of notepad. ProcessStartInfo myProcessStartInfo = new ProcessStartInfo( "C:\\Windows\\notepad.exe"); // Assign 'StartInfo' of notepad to 'StartInfo' of 'myProcess' object myProcess.StartInfo = myProcessStartInfo; // Create a notepad myProcess.Start(); System.Threading.Thread.Sleep(1000); ProcessModule myProcessModule; // Get all the modules associated with 'myProcess'. ProcessModuleCollection myProcessModuleCollection = myProcess.Modules; Console.WriteLine("Properties of modules associated " + "with 'notepad' are:"); Console.WriteLine("There are " + myProcessModuleCollection.Count + " modules"); // Display the properties of each of the modules for (int i = 0; i < myProcessModuleCollection.Count; i++) { myProcessModule = myProcessModuleCollection[i]; Console.WriteLine("The moduleName is:" + myProcessModule.ModuleName); Console.WriteLine("The " + myProcessModule.ModuleName + "'s base address is:" + myProcessModule.BaseAddress); Console.WriteLine("The " + myProcessModule.ModuleName + "'s Entry point address is:" + myProcessModule.EntryPointAddress); Console.WriteLine("The " + myProcessModule.ModuleName + "'s File name is:" + myProcessModule.FileName); } Console.WriteLine(); // Get the main module associated with 'myProcess'. myProcessModule = myProcess.MainModule; // Display the properties of the main module Console.WriteLine("The process's main modules Name is:" + myProcessModule.ModuleName); Console.WriteLine("The process's main module's Base address is:" + myProcessModule.BaseAddress); Console.WriteLine("The process's main module's Entry point address is:" + myProcessModule.EntryPointAddress); Console.WriteLine("The process's main module's File Name is:" + myProcessModule.FileName); Console.ReadLine(); } }