如何用代码触发别的应用程序的按钮?

eaststar 2001-08-04 08:37:40
具体一点,就拿“确定”按钮为例,1,先获得该按钮的句柄(我用的是 GetNextDlgTabItem,可以吧)。 2.问题重点:如何用代码把那个按钮“按下去”?
...全文
304 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
shiyutao2010 2001-08-08
  • 打赏
  • 举报
回复
gz
freetime 2001-08-08
  • 打赏
  • 举报
回复
得到窗口位置,模拟鼠标单击。
horsehorse 2001-08-07
  • 打赏
  • 举报
回复
以OK按钮为例:
::PostMessage(hWnd, WM_COMMAND, IDOK, BN_CLICKED);
hWnd是包含OK按钮的对话框的句柄。
eaststar 2001-08-07
  • 打赏
  • 举报
回复
谢谢各位问题解决了
wenjiu5 2001-08-07
  • 打赏
  • 举报
回复
用FindWindow和FindWindowEx找到那个窗口的句子柄,再用PostMessage给该句柄发消息。
cloudshadow1 2001-08-07
  • 打赏
  • 举报
回复
获得按钮句柄:
HWND FindWindow(LPCTSTR lpClassName,LPCTSTR lpWindowName);
可获得顶级窗口的HANDLE(按钮的父窗口)。
HWND FindWindowEx(HWND hwndParent,HWND hwndChildAfter,LPCTSTR lpszClass,LPCTSTR lpszWindow );
可获得按钮的句柄。
以上的参数可通过VISUAL STUDIO自带的SPY++获得。
可以向那个按钮发送鼠标按下去时两个消息,
1。左键按下:
::SendMessage((HWND)0x00000908,WM_LBUTTONDOWN,MK_LBUTTON,0);
2。左键松开:
::SendMessage((HWND)0x00000908,WM_LBUTTONUP,0,0);
其中第一个参数为我取得的按钮的HANDLE。
wmouse 2001-08-07
  • 打赏
  • 举报
回复
gz
flyingknight 2001-08-07
  • 打赏
  • 举报
回复
想办法找到该按钮...用spy++可以看到该应用程序的主窗口,子窗口....直到该按钮...可以通过窗口名,类名等来判断...找到以后SendMessage就可以了...至于具体方法,我可以提供类似源代码...hongbo.yu@263.net
codica 2001-08-07
  • 打赏
  • 举报
回复
如果该该控件在程序主窗口内,就比较容易,用EnumWindows枚举到该窗口,在用sendmessage()发送该改控件即可
codica@sina.com
jisheng 2001-08-07
  • 打赏
  • 举报
回复
呵呵……sendmessage~
MSXP2 2001-08-07
  • 打赏
  • 举报
回复
ok
azuo_lee 2001-08-07
  • 打赏
  • 举报
回复
最简单的办法,而且可以模拟按钮按下的动作:
SendMessage(hwndButton, BM_CLICK, 0, 0);
它会给Button先发一个LBUTTONDOWN,再发一个LBUTTONUP,完全模拟按钮动作。
eaststar 2001-08-06
  • 打赏
  • 举报
回复
显然不行!
panda_w 2001-08-06
  • 打赏
  • 举报
回复
::PostMessage(hWnd,WM_KEYDOWN,13,0x011c0001);
blcr 2001-08-06
  • 打赏
  • 举报
回复
直接调用该按扭得函数不可以吗?
kenny_yuan 2001-08-05
  • 打赏
  • 举报
回复
发WM_COMMAND消息,需要有按钮的ID,找按钮的ID可用Spy++

/*大家都没做过SDK吧?*/
eaststar 2001-08-05
  • 打赏
  • 举报
回复
111222告诉我具体一点,谢了!
111222 2001-08-04
  • 打赏
  • 举报
回复
alphapaopao(炮炮):

发什么消息?WM_请你响应?
alphapaopao 2001-08-04
  • 打赏
  • 举报
回复
发消息给框架窗口,而不是发给那个按钮

呵呵
111222 2001-08-04
  • 打赏
  • 举报
回复
获得窗口的rect
模拟鼠标在该rect内按下、弹起
加载更多回复(7)

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧