ProcessModule.BaseAddress 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得模組載入的記憶體位址。
public:
property IntPtr BaseAddress { IntPtr get(); };
public IntPtr BaseAddress { get; }
member this.BaseAddress : nativeint
Public ReadOnly Property BaseAddress As IntPtr
屬性值
IntPtr
nativeint
模組的負載位址。
範例
以下程式碼範例為 Notepad.exe 應用程式建立一個新的程序。 程式碼會遍歷類別, ProcessModuleCollection 以取得集合中每個模組的 ProcessModule 物件。 ModuleName與BaseAddress屬性用來顯示模組名稱及每個模組載入的記憶體位址。
using (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("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(myProcessModule.ModuleName + " : "
+ myProcessModule.BaseAddress);
}
// Get the main module associated with 'myProcess'.
myProcessModule = myProcess.MainModule;
// Display the 'BaseAddress' of the main module.
Console.WriteLine("The process's main module's base address is: "
+ myProcessModule.BaseAddress);
myProcess.CloseMainWindow();
}
Using 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("Base addresses of the modules associated " +
"with 'notepad' are:")
' Display the 'BaseAddress' of each of the modules.
Dim i As Integer
For i = 0 To myProcessModuleCollection.Count - 1
myProcessModule = myProcessModuleCollection(i)
Console.WriteLine(myProcessModule.ModuleName + " : " +
myProcessModule.BaseAddress.ToString())
Next i
' Get the main module associated with 'myProcess'.
myProcessModule = myProcess.MainModule
' Display the 'BaseAddress' of the main module.
Console.WriteLine("The process's main module's base address is: " +
myProcessModule.BaseAddress.ToString())
myProcess.CloseMainWindow()
End Using