ProcessModule::BaseAddress Property
.NET Framework (current version)
Gets the memory address where the module was loaded.
Assembly: System (in System.dll)
The following code example creates a new process for the Notepad.exe application. The code iterates through the ProcessModuleCollection class to obtain a ProcessModule object for each module in the collection. The ModuleName and BaseAddress properties are used to display the module name and the memory address where each module was loaded.
Process^ myProcess = gcnew Process; // Get the process start information of notepad. ProcessStartInfo^ myProcessStartInfo = gcnew ProcessStartInfo( "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( "Base addresses of the modules associated with 'notepad' are:" ); // Display the 'BaseAddress' of each of the modules. for ( int i = 0; i < myProcessModuleCollection->Count; i++ ) { myProcessModule = myProcessModuleCollection[ i ]; Console::WriteLine( "{0} : {1}", myProcessModule->ModuleName, myProcessModule->BaseAddress ); } myProcessModule = myProcess->MainModule; // Display the 'BaseAddress' of the main module. Console::WriteLine( "The process's main module's base address is: {0}", myProcessModule->BaseAddress ); myProcess->CloseMainWindow();
.NET Framework
Available since 1.1
Available since 1.1
Show: