728x90
반응형
728x170
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
#region 윈도우 핸들 리스트 구하기 - GetWindowHandleList(processID)
/// <summary>
/// 윈도우 핸들 리스트 구하기
/// </summary>
/// <param name="processID">프로세스 ID</param>
/// <returns>윈도우 핸들 리스트</returns>
public List<IntPtr> GetWindowHandleList(uint processID)
{
List<IntPtr> windowHandleList = new List<IntPtr>();
IntPtr windowHandle = IntPtr.Zero;
do
{
windowHandle = FindWindowEx(IntPtr.Zero, windowHandle, null, null);
uint windowProcessID = 0;
GetWindowThreadProcessId(windowHandle, out windowProcessID);
if(windowProcessID == processID)
{
windowHandleList.Add(windowHandle);
}
}
while(windowHandle != IntPtr.Zero);
return windowHandleList;
}
#endregion
#region 윈도우 찾기 (확장) - FindWindowEx(parentWindowHandle, childAfterWindowHandle, className, windowText)
/// <summary>
/// 윈도우 찾기 (확장)
/// </summary>
/// <param name="parentWindowHandle">부모 윈도우 핸들</param>
/// <param name="childAfterWindowHandle">찾기 이후 자식 윈도우 핸들</param>
/// <param name="className">클래스명</param>
/// <param name="windowText">윈도우 텍스트</param>
/// <returns>윈도우 핸들</returns>
[DllImport("user32.dll")]
private static extern IntPtr FindWindowEx(IntPtr parentWindowHandle, IntPtr childAfterWindowHandle, string className, string windowText);
#endregion
#region 윈도우 스레드 프로세스 ID 구하기 - GetWindowThreadProcessId(windowHandle, processID);
/// <summary>
/// 윈도우 스레드 프로세스 ID 구하기
/// </summary>
/// <param name="windowHandle">윈도우 핸들</param>
/// <param name="processID">프로세스 ID</param>
/// <returns>처리 결과</returns>
[DllImport("user32.dll")]
private static extern uint GetWindowThreadProcessId(IntPtr windowHandle, out uint processID);
#endregion
728x90
반응형
그리드형(광고전용)
'C# > Common' 카테고리의 다른 글
[C#/COMMON] 너비가 0인 공백 문자 제거하기 (0) | 2021.04.05 |
---|---|
[C#/COMMON] 작업 보기 모드 여부 구하기 (0) | 2021.04.03 |
[C#/COMMON] 모든 UWP 애플리케이션의 윈도우 최소화하기 (0) | 2021.04.03 |
[C#/COMMON] 오픈 윈도우 핸들 딕셔너리 구하기 (0) | 2021.04.03 |
[C#/COMMON] 한글 윈도우즈 10에서 계산기 UWP 앱 윈도우 최소화하기 (0) | 2021.04.02 |
[C#/COMMON] 누겟 설치 : InputSimulator (0) | 2021.03.27 |
[C#/COMMON] ZipArchive 클래스 : ZIP 파일 생성하기/추출하기 (기능 개선) (0) | 2021.03.27 |
[C#/COMMON] NetworkInterface 클래스 : GetAllNetworkInterfaces 정적 메소드를 사용해 VPN 네트워크 인터페이스 리스트 구하기 (0) | 2021.03.23 |
[C#/COMMON] WebClient 클래스 : UploadFile 메소드를 사용해 넥서스 저장소(Nexus Repository)에 파일 업로드하기 (0) | 2021.03.10 |
[C#/COMMON] 정적 로컬 함수(Static Local Function) 사용하기 (0) | 2021.03.09 |
댓글을 달아 주세요