ProcessModule 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
특정 프로세스에 로드된 .dll 또는 .exe 파일을 나타냅니다.
public ref class ProcessModule : System::ComponentModel::Component
public class ProcessModule : System.ComponentModel.Component
type ProcessModule = class
inherit Component
Public Class ProcessModule
Inherits Component
- 상속
예제
다음 코드 샘플에서는 클래스를 사용하여 ProcessModule Notepad.exe 애플리케이션에서 사용되는 모든 모듈에 대한 정보를 가져와 표시하는 방법을 보여 줍니다.
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("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();
}
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("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()
End Using
설명
모듈은 실행 파일 또는 DLL(동적 연결 라이브러리)입니다. 각 프로세스는 하나 이상의 모듈로 구성됩니다. 이 클래스를 사용하여 모듈에 대한 정보를 가져올 수 있습니다.
Important
이 형식은 IDisposable 인터페이스를 구현합니다. 형식 사용을 마쳤으면 직접 또는 간접적으로 삭제해야 합니다. 형식을 직접 삭제하려면 Disposetry/ 블록에서 해당 catch 메서드를 호출합니다. 간접적으로 삭제하려면 using(C#) 또는 Using(Visual Basic)와 같은 언어 구문을 사용합니다. 자세한 내용은 인터페이스 항목의 "IDisposable을 구현하는 개체 사용" 섹션을 IDisposable 참조하세요.
속성
| Name | Description |
|---|---|
| BaseAddress |
모듈이 로드된 메모리 주소를 가져옵니다. |
| CanRaiseEvents |
구성 요소가 이벤트를 발생시키는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 Component) |
| Container |
를 IContainer 포함하는 값을 가져옵니다 Component. (다음에서 상속됨 Component) |
| DesignMode |
현재 디자인 모드인지 여부를 Component 나타내는 값을 가져옵니다. (다음에서 상속됨 Component) |
| EntryPointAddress |
시스템이 모듈을 로드하고 실행할 때 실행되는 함수의 메모리 주소를 가져옵니다. |
| Events |
이 Component에 연결된 이벤트 처리기 목록을 가져옵니다. (다음에서 상속됨 Component) |
| FileName |
모듈의 전체 경로를 가져옵니다. |
| FileVersionInfo |
모듈에 대한 버전 정보를 가져옵니다. |
| ModuleMemorySize |
모듈을 로드하는 데 필요한 메모리 양을 가져옵니다. |
| ModuleName |
프로세스 모듈의 이름을 가져옵니다. |
| Site |
ISite를 가져오거나 Component의 값을 설정합니다. (다음에서 상속됨 Component) |
메서드
| Name | Description |
|---|---|
| CreateObjRef(Type) |
원격 개체와 통신하는 데 사용되는 프록시를 생성하는 데 필요한 모든 관련 정보를 포함하는 개체를 만듭니다. (다음에서 상속됨 MarshalByRefObject) |
| Dispose() |
에서 사용하는 모든 리소스를 Component해제합니다. (다음에서 상속됨 Component) |
| Dispose(Boolean) |
관리되지 않는 리소스를 Component 해제하고 관리되는 리소스를 선택적으로 해제합니다. (다음에서 상속됨 Component) |
| Equals(Object) |
지정한 개체와 현재 개체가 같은지 여부를 확인합니다. (다음에서 상속됨 Object) |
| GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
| GetLifetimeService() |
이 인스턴스의 수명 정책을 제어하는 현재 수명 서비스 개체를 검색합니다. (다음에서 상속됨 MarshalByRefObject) |
| GetService(Type) |
또는 해당 서비스에서 제공하는 서비스를 나타내는 개체를 Component 반환합니다 Container. (다음에서 상속됨 Component) |
| GetType() |
현재 인스턴스의 Type 가져옵니다. (다음에서 상속됨 Object) |
| InitializeLifetimeService() |
이 인스턴스의 수명 정책을 제어하는 수명 서비스 개체를 가져옵니다. (다음에서 상속됨 MarshalByRefObject) |
| MemberwiseClone() |
현재 Object단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
| MemberwiseClone(Boolean) |
현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다. (다음에서 상속됨 MarshalByRefObject) |
| ToString() |
모듈의 이름을 문자열로 변환합니다. |
이벤트
| Name | Description |
|---|---|
| Disposed |
구성 요소가 메서드 호출에 Dispose() 의해 삭제될 때 발생합니다. (다음에서 상속됨 Component) |