50分求教怎么样得到包括其它窗口在内获得输入焦点的控件的句柄?GetFocus()只能得到当前窗口的 作一个全局钩子ShellProc,监控WM_SETFOCUS,可以得到两个参数:lParam和wParam,一个是当前焦点的HWND,一个是上一个焦点的HWND 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 提供一个方法:用AttachThreadInput试试 game2000,你的钩子句柄有没有写在共享数据区,你可以把DLL加载到某个应用程序上调试一下就知道原因了 大家一定都有分,AttachThreadInput能不能具体和我说一下,我在msdn里也看到过,但是不知道怎么用, GetActiveWindow然后GetFocus行不行 CString CMyWnd::GetForegroudWndFocusWndText(void){CWnd * mainwnd, *subwnd;DWORD dwthreadforeground, dwthreadthis;//获得当前活动窗口mainwnd = GetForegroundWindow();//获得活动窗口的线程号dwthreadforeground = ::GetWindowThreadProcessId(mainwnd->m_hWnd, NULL);//获得与自己程序的窗口相关的线程号dwthreadthis = ::GetWindowThreadProcessId(m_hWnd, NULL);//将两个线程的输入联系起来,只有这样,GetFocus函数才能获得其它线程中的焦点窗口::AttachThreadInput(dwthreadthis, dwthreadforeground, TRUE);//得到当前的具有输入焦点的子窗口subwnd = GetFocus();char lpszText[MAX_PATH];//获得窗口中的文字信息::SendMessage(subwnd->m_hWnd, WM_GETTEXT, WPARAM(MAX_PATH), LPARAM(lpszText));//将联到一起的两个线程的输入分离::AttachThreadInput(dwthreadthis, dwthreadforeground, FALSE);return lpszText;}同理可得到一切窗口的具有当前焦点的子窗口的句柄 如何在MFC开发的ActiveX控件上加载位图? VC++6.0问题(非语言类)- 编辑区的垂直滚动条不见了?怎么办…… 边界拖动的问题 什么是窗口的客户区与非客户区?是内存和显存吗? 怎么设计PICTURE控件中绘图的简易CAD系统 请教一种奇怪的图像文件格式 test too... 想使某个菜单无效,却不成功,为什么? 怎样使button响应MouseEnter和MouseLeave事件 请教一下CRect和Rect之间如何互相转换 哪位发点代码给我啊,入内看看,帮帮忙啦! 特急!!(在线等),关于网络監控和函数WSAIoctl()的使用问题(分數不夠可以再加)
然后GetFocus行不行
{
CWnd * mainwnd, *subwnd;
DWORD dwthreadforeground, dwthreadthis;//获得当前活动窗口
mainwnd = GetForegroundWindow();//获得活动窗口的线程号
dwthreadforeground = ::GetWindowThreadProcessId(mainwnd->m_hWnd, NULL);
//获得与自己程序的窗口相关的线程号
dwthreadthis = ::GetWindowThreadProcessId(m_hWnd, NULL);//将两个线程的输入联系起来,只有这样,GetFocus函数才能获得其它线程中的焦点窗口
::AttachThreadInput(dwthreadthis, dwthreadforeground, TRUE);//得到当前的具有输入焦点的子窗口
subwnd = GetFocus();char lpszText[MAX_PATH];
//获得窗口中的文字信息
::SendMessage(subwnd->m_hWnd, WM_GETTEXT, WPARAM(MAX_PATH), LPARAM(lpszText));//将联到一起的两个线程的输入分离
::AttachThreadInput(dwthreadthis, dwthreadforeground, FALSE);return lpszText;
}
同理可得到一切窗口的具有当前焦点的子窗口的句柄