MyException - 我的异常网
当前位置:我的异常网» VC/MFC » VC像指定旋钮发送单击事件!总是不成功

VC像指定旋钮发送单击事件!总是不成功

www.MyException.Cn  网友分享于:2013-02-20  浏览:4次
VC像指定按钮发送单击事件!总是不成功
之前一篇询问窗口句柄已结贴,现重新开一帖询问向已知按钮句柄发送单击事件:
先贴代码
	HWND step3_5 = GetWindow(step3_4,GW_HWNDNEXT);//4060e

CWnd *pWnd=CWnd::FromHandle(hChild);
pWnd->ShowWindow(SW_SHOW);
pWnd->SetWindowPos(&CWnd::wndTopMost ,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE |SWP_SHOWWINDOW);
pWnd->SetFocus();//
BringWindowToTop(hChild);
::PostMessage(step3_5,BM_CLICK,0,0);


hChild是窗口句柄 step3_5是按钮句柄(句柄查看了都是正确的) 根据网友提示 先进行窗体激活置顶 但没有成功 POST按钮消息也没反应 有网友提示用autohotkey 但这个能用VC调用并传参吗 这个程序要添加电话功能 模拟调用其它电话程序拨号的 谢谢各位热心的网友们!

------解决方案--------------------
引用:
来人 接分!

接分~
------解决方案--------------------
引用:
之前一篇询问窗口句柄已结贴,现重新开一帖询问向已知按钮句柄发送单击事件:
先贴代码


C/C++ code
?



12345678

HWND step3_5 = GetWindow(step3_4,GW_HWNDNEXT);//4060e  CWnd *pWnd=CWnd::FromHandle(hChild); pWnd->ShowWindow(SW_SHOW); ……

HWND hWndButton =  ....; // 按钮的HWND窗口句柄
UINT nId = GetDlgCtrlD(hWndButton);
PostMessage(GetParent(hWndButton), WM_COMMAND, MAKEWPRAM(nId, BN_CLICKED), LPARAM(hWndButton));

------解决方案--------------------
#2 得分:0 回复于: 2013-02-07 12:58:21 
来人 接分! 
------解决方案--------------------
1、判定每一个函数调用的返回值是否正确
2、发送WM_LBUTTONDOWN、WM_LBUTTONUP
------解决方案--------------------
楼主,你的窗口显示showwindow和激活setfocus并不能把按钮句柄HBtn和窗口句柄HWnd自然地关联起来,也就是说,你的代码中并没有明确窗口是按钮的Parent窗口,对否?
目测4楼的回复是正确的,提醒一下:HWND hWndButton 是按钮的句柄。
------解决方案--------------------
Bnclick 事件通过WM_COMMAND消息发送
------解决方案--------------------
干嘛不用WM_LBUTTONDOWN?

非要使用可以大版的那个。
//PostMessage(句柄, WM_COMMAND, MAKEWPRAM(nId, BN_CLICKED), LPARAM(hWndButton));


------解决方案--------------------
楼主,按钮句柄你有嘛?

没有,发送不了消息啊?

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有