通过ProcessID获取窗口句柄
2009-04-23 18:38
387 查看
HWND g_hwnd;
int g_nFound;
BOOL CALLBACK FindHwndFromPID( HWND hwnd, LPARAM lParam) :
HWND GetHwndFromPID ( DWORD dwProcessId)
{
g_hwnd = NULL;
g_nFound = 0;
EnumWindows ( FindHwndFromPID, ( LPARAM) dwProcessId));
if ( g_hwnd) // we found one...
return ( g_hwnd);
// nothing found :-(
return (NULL);
}
BOOL CALLBACK FindHwndFromPID( HWND hwnd, LPARAM lParam)
{
DWORD dwPID2Find = ( DWORD) lParam;
DWORD dwPID = 0;
if ( GetWindowThreadProcessId ( hwnd, &dwPID))
{
if ( dwPID == dwPID2Find)
{
g_hwnd = hwnd;
return ( FALSE);
}
}
return ( TRUE);
}
使用方法:
HWND hwnd = GetHwndFromPID(GetCurrentProcessId());
int g_nFound;
BOOL CALLBACK FindHwndFromPID( HWND hwnd, LPARAM lParam) :
HWND GetHwndFromPID ( DWORD dwProcessId)
{
g_hwnd = NULL;
g_nFound = 0;
EnumWindows ( FindHwndFromPID, ( LPARAM) dwProcessId));
if ( g_hwnd) // we found one...
return ( g_hwnd);
// nothing found :-(
return (NULL);
}
BOOL CALLBACK FindHwndFromPID( HWND hwnd, LPARAM lParam)
{
DWORD dwPID2Find = ( DWORD) lParam;
DWORD dwPID = 0;
if ( GetWindowThreadProcessId ( hwnd, &dwPID))
{
if ( dwPID == dwPID2Find)
{
g_hwnd = hwnd;
return ( FALSE);
}
}
return ( TRUE);
}
使用方法:
HWND hwnd = GetHwndFromPID(GetCurrentProcessId());
相关文章推荐
- 通过Windows进程ID获取窗口句柄
- 通过窗口句柄获取窗口指针!
- 通过进程exe名称获取窗口句柄
- C# 通过窗口句柄获取程序运行路径 通过程序运行路径获取程序图标
- VC通过窗口句柄获取应用程序路径
- 通过进程id获取窗口句柄
- 获取当前焦点所在窗口句柄,通过 句柄获取执行路径
- python 通过js控制滚动条拉取全文 通过psutil获取pid窗口句柄,通过win32gui使程序窗口前置 通过autopy实现右键菜单和另存为操作
- VC++通过类名获取同一程序的多个实例窗口句柄
- 通过进程获取窗口的句柄
- 通过鼠标获取窗口句柄
- 通过进程名获取窗口句柄
- 通过进程获取窗口的句柄
- 通过进程名获取主框架窗口句柄
- 通过进程ID获取最顶层窗口句柄
- 通过进程名或进程ID获取进程句柄,窗口句柄
- 通过句柄,获取窗口的指针
- Delphi通过IE窗口句柄获取网页接口(IWebBrowser2) good
- VB.NET 通过窗口句柄,获取webbrowser控件HTML内容
- 通过进程ID获取窗口句柄(微软)