Freigeben über


ProcessModule-Klasse

Stellt eine DLL- oder EXE-Datei dar, die in einen bestimmten Prozess geladen wird.

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

Syntax

'Declaration
Public Class ProcessModule
    Inherits Component
'Usage
Dim instance As ProcessModule
public class ProcessModule : Component
public ref class ProcessModule : public Component
public class ProcessModule extends Component
public class ProcessModule extends Component

Hinweise

Ein Modul ist eine ausführbare Datei oder eine DLL (Dynamic Link Library). Jeder Prozess besteht aus mindestens einem Modul. Sie können mit dieser Klasse Informationen über das Modul abrufen.

Beispiel

Dim myProcess As New Process()
' Get the process start information of notepad.
Dim myProcessStartInfo As New 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)
Dim myProcessModule As ProcessModule
' Get all the modules associated with 'myProcess'.
Dim myProcessModuleCollection As ProcessModuleCollection = myProcess.Modules
Console.WriteLine("Properties of the modules  associated " + _
                     "with 'notepad' are:")
' Display the properties of each of the modules.
Dim i As Integer
For i = 0 To myProcessModuleCollection.Count - 1
    myProcessModule = myProcessModuleCollection(i)
    Console.WriteLine("The moduleName is " + myProcessModule.ModuleName)
    Console.WriteLine("The " + myProcessModule.ModuleName.ToString() + _
               "'s base address is: " + myProcessModule.BaseAddress.ToString())
    Console.WriteLine("The " + myProcessModule.ModuleName.ToString() + _
            "'s Entry point address is: " + myProcessModule.EntryPointAddress.ToString())
    Console.WriteLine("The " + myProcessModule.ModuleName + _
                            "'s File name is: " + myProcessModule.FileName)
Next i
' Get the main module associated with 'myProcess'.
myProcessModule = myProcess.MainModule
' Display the properties of the main module.
Console.WriteLine("The process's main moduleName is:  " + myProcessModule.ModuleName)
Console.WriteLine("The process's main module's base address is: " + _
                        myProcessModule.BaseAddress.ToString())
Console.WriteLine("The process's main module's Entry point address is: " + _
                        myProcessModule.EntryPointAddress.ToString())
Console.WriteLine("The process's main module's File name is: " + _
                        myProcessModule.FileName)
myProcess.CloseMainWindow()
Process myProcess = new Process();
// Get the process start information of notepad.
ProcessStartInfo  myProcessStartInfo = new 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("Properties of the modules  associated "
   +"with 'notepad' are:");
// 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);
}
// Get the main module associated with 'myProcess'.
myProcessModule = myProcess.MainModule;
// Display the properties of the main module.
Console.WriteLine("The process's main moduleName 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);
myProcess.CloseMainWindow();
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( "Properties of the modules  associated with 'notepad' are:" );

// Display the properties of each of the modules.
for ( int i = 0; i < myProcessModuleCollection->Count; i++ )
{
   myProcessModule = myProcessModuleCollection[ i ];
   Console::WriteLine( "The moduleName is {0}", myProcessModule->ModuleName );
   Console::WriteLine( "The {0}'s base address is: {1}", myProcessModule->ModuleName, myProcessModule->BaseAddress );
   Console::WriteLine( "The {0}'s Entry point address is: {1}", myProcessModule->ModuleName, myProcessModule->EntryPointAddress );
   Console::WriteLine( "The {0}'s File name is: {1}", myProcessModule->ModuleName, myProcessModule->FileName );
}
myProcessModule = myProcess->MainModule;

// Display the properties of the main module.
Console::WriteLine( "The process's main moduleName is: {0}", myProcessModule->ModuleName );
Console::WriteLine( "The process's main module's base address is: {0}", myProcessModule->BaseAddress );
Console::WriteLine( "The process's main module's Entry point address is: {0}", myProcessModule->EntryPointAddress );
Console::WriteLine( "The process's main module's File name is: {0}", myProcessModule->FileName );
myProcess->CloseMainWindow();

Vererbungshierarchie

System.Object
   System.MarshalByRefObject
     System.ComponentModel.Component
      System.Diagnostics.ProcessModule

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

ProcessModule-Member
System.Diagnostics-Namespace