如何获得这个窗口的CWnd类或HWND句柄

如何获得这个窗口的CWnd类或HWND句柄,第1张

句柄获取方法(获取该窗口句柄后,即可向该窗口类类发送消息、处理程序):0。获取所在类窗口的句柄:this->m_hwnd1。主窗口的句柄:无论在主窗口类内,还是子窗口类内,获取主窗口句柄的方法:AfxGetMainWnd()->m_hWnd,如:::SendMessage(AfxGetMainWnd()->m_hWnd , WM_MY_DOSOME , 0 ,(LPARAM)i);在窗口类中this->m_hWnd或者this->GetSafeHwnd()2。子窗口句柄:用FindWindow,(只要知道子窗口的名字即可)如: ::FindWindow(NULL,WindowsName) 返回找到的窗口的句柄寻找当前窗口是否在运行windowname的程序,该名字为窗口名字,如:CWnd pWnd=FindWindow(NULL,_T("清芝--支票机"));//GetSafeHwnd函数功能:获取某个窗口对象(CWnd的派生对象)指针的句柄(HWND)时,最安全的方法是使用GetSafeHwnd()函数。通过下面的例子来看其理由

你这不是矛盾的吗

要输入那肯定得是前台

如果是>

分类: 电脑/网络 >> 程序设计 >> 其他编程语言

解析:

通过呼叫GetParent,子窗口消息处理程序能确定其父窗口的窗口句柄:hwndParent = GetParent (hwnd) ;

当前窗口的句柄可以通过当前窗体的回调函数中的参数来取得~

1、标准菜单的窗口类名是#32768,但Findwindows得到的是HWND,不是HMENU,不能用来实现菜单 *** 作。 2、可以考虑用SetWindowsHookEx捕获WM_INITMENUPOPUP消息。

如果是你正在编译的程序的话,command1hwnd就是这个按钮的句柄

如果是其他应用程序的按钮,则要通过findwindowex这个api函数,具体方法参考百度百科:

1、函数功能

在窗口列表中寻找与指定条件相符的第一个子窗口 。 该函数获得一个窗口的句柄,该窗口的类名和窗口名与给定的字符串相匹配。这个函数查找子窗口,从排在给定的子窗口后面的下一个子窗口开始。在查找时不区分大小写。

2、函数原型:

HWND FindWindowEx( HWND1 hwndParent, HWND2 hwndChildAfter, LPCTSTR1 lpszClass, LPCTSTR2 lpszWindow );

通过WindowsAPI函数可以获取光标所在处的窗口的句柄。在Windows *** 作系统中,可以使用API函数“HWNDWindowFromPoint(POINTPoint)”获取当前虚拟光标的位置,返回值是一个BOOL类型,表示函数执行是否成功。如果函数执行成功,就可以获取到虚拟光标的位置,可以通过该位置来获取句柄。

以上就是关于如何获得这个窗口的CWnd类或HWND句柄全部的内容,包括:如何获得这个窗口的CWnd类或HWND句柄、c#如何抓到窗口句柄后,在后台输入文字、如何获取当前窗口的句柄,以及父窗口的句柄等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9637442.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存