如何判断创建的线程中包含有窗口对象,以及如何找到它的句柄??? 对于采用Apartment的Com服务器来说,StA中包含一个隐藏的窗口对象,如何得到这个窗口句柄 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 I agree with In355HzEnumThreadWindows EnumThreadWindows(dwThreadId: DWORD; lpfn: TFNWndEnumProc; lParam: LPARAM)没法得到lpfn,还是不行啊 是不是这样:CDlg *pDlg = (CDlg*)AfxGetMainWnd();我在多线程里是这样做的,你try一下。 lpfn: TFNWndEnumProc 是个回调函数,需要自己写,EnumThreadWindows 用找到的窗口句柄和 lParam: LPARAM 调用这个函数。BOOL CALLBACK EnumThreadWndProc( HWND hwnd, // handle to window LPARAM lParam // application-defined value); HWND hWnd[256];static WndCount = 0;LRESULT CALLBACK EnumWndProc(HWND hwnd, LPARAM lParam){ DWORD ThreadID,FindProcID; if(WndCount > 255 || hwnd == NULL) return FALSE; ThreadID = GetWindowThreadProcessId(hwnd,&FindProcID); if(FindProcID == (DWORD)lParam) { hWnd[WndCount] = hWnd; WndCount++; } return TRUE;}void WndFinder(DWORD YourProcID){ EnumWindows((WNDENUMPROC)EnumWndProc,(LPARAM)YourProcID);} LookupAccountName 无法取到SID 数组应用,程序运行速度很慢,求解! PWLib是怎样处理HTTP请求的 请问如果判断一个HICON句柄的有效性? 某女生编的c语言程序 关于位图显示的问题?急! 如何实现线程函数返回?? 如何调用AnimateWindow 控件属性修改 关于BIFF8,xls的非常具体的问题,给高分。 高分求得一个问题的确认 请问在单文档程序中怎么让view一开始弹出来时就是最大化的
EnumThreadWindows
CDlg *pDlg = (CDlg*)AfxGetMainWnd();
我在多线程里是这样做的,你try一下。
HWND hwnd, // handle to window
LPARAM lParam // application-defined value
);
static WndCount = 0;
LRESULT CALLBACK EnumWndProc(HWND hwnd, LPARAM lParam)
{
DWORD ThreadID,FindProcID;
if(WndCount > 255 || hwnd == NULL) return FALSE;
ThreadID = GetWindowThreadProcessId(hwnd,&FindProcID);
if(FindProcID == (DWORD)lParam)
{
hWnd[WndCount] = hWnd;
WndCount++;
}
return TRUE;}
void WndFinder(DWORD YourProcID)
{
EnumWindows((WNDENUMPROC)EnumWndProc,(LPARAM)YourProcID);
}