如果在程序中知道已知的按钮被按下?

longji 2004-05-13 02:23:29
我想在程序中知道已知的按钮何时被按下,并在被按下时,做一些其它动作,不知道如何作好一点?
...全文
159 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
longji 2004-06-15
  • 打赏
  • 举报
回复
我怎么结不了帖啊,总是提示网页上有错误啊?
longji 2004-05-13
  • 打赏
  • 举报
回复
To:888atao(阿涛)我要的是这种郊果,但是光有鼠标消息是不行的,如果用户按回车键就没办法啦。

To:fenforever(其实,我只是一个马甲。) ,我的思路大约是这样的,但不是很楚,能不能有更具体一点的代码啊?谢谢了?
888atao 2004-05-13
  • 打赏
  • 举报
回复
在目标进程中HOOK鼠标
当检测到WM_LBUTTONDOWN时
MOUSEHOOKSTRUCT *MouseInfo = (MOUSEHOOKSTRUCT*)lParam;
MouseInfo->pt 是按下鼠标时的坐标
根据WindowFromPoint()得到鼠标所在按钮的HWND
GetWindowText()得到按钮的文字
用它与目标按纽的文字比较strcmp()

LRESULT MouseHookProc(int nCode, WPARAM wParam, LPARAM lParam)
{
MOUSEHOOKSTRUCT *MouseInfo = (MOUSEHOOKSTRUCT*)lParam;
if (wParam == WM_LBUTTONDOWN)
{
GetWindowText(WindowFromPoint(MouseInfo->pt), str, 100);
if (strcmp("OK", str) == 0)
{
//你的代码
}
}
}
fenforever 2004-05-13
  • 打赏
  • 举报
回复
在按钮被按下的时候,按钮的父窗口会收到一个WM_COMMAND消息:
WM_COMMAND
wNotifyCode = HIWORD(wParam); // 通知代码
wID = LOWORD(wParam); // 按钮ID
hwndCtl = (HWND) lParam; // 控件句柄

当然,在MFC之中,按钮单击的时候就会通过消息映射,映射到BN_CLICKED通知消息了。
coffer 2004-05-13
  • 打赏
  • 举报
回复
不同的控件应该对应不同的消息名字吧?
如果是Button 的话 对应的是BN_CLICKED 如果是组合框(combo box)的话 就是CBN_SELCHANGE 或其他的 根据你的要求来定
longji 2004-05-13
  • 打赏
  • 举报
回复
我想这个按钮按下时,应该有一个什么消息,我只要知道这个消息,就应该知道安被按下了,但我不知道是什么消息,我不太懂windows编程,刚刚开始。
longji 2004-05-13
  • 打赏
  • 举报
回复
是这样的,我已经注入了另一个程序,想知道它的一个按钮什么时候按下,在这个按钮按下的时候,我要做一些动作?要求说的明确一点!
pmwin 2004-05-13
  • 打赏
  • 举报
回复
对啊,有相应函数啊~~~~
想在程序中知道已知的按钮何时被按下
是不是想知道按钮被按下的时间啊?用CTime::GetCurrentTime()
windyloft 2004-05-13
  • 打赏
  • 举报
回复
如果是别人的程序,就给他挂一个钩子,就能监控它的动作
tjucruiser 2004-05-13
  • 打赏
  • 举报
回复
你可以把问题说得清楚一点吗?我实在很费解!!
coffer 2004-05-13
  • 打赏
  • 举报
回复
这个问题好奇怪啊,你在按下的时候不就已经知道了? 难道程序不是你在用?

如果是别人使用的话,可以考虑在按钮响应函数中增加相应的变量来存储函数调用的时间,并且自己定义一个消息,发送给相应的函数(你希望完成的操作),不知道我猜的是不是你那个意思。
subtop 2004-05-13
  • 打赏
  • 举报
回复
用classwizard 给按钮添加WM_COMMAND消息处理函数。
或手工:
1、afx_msg void OnButtonHello();
2、ON_BN_CLICKED(IDC_BUTTON_HELLO, OnButtonHello)
3、OnButtonHello函数定义、功能实现
longji 2004-05-13
  • 打赏
  • 举报
回复
不行,不是一种需求
gufengduyu 2004-05-13
  • 打赏
  • 举报
回复
就在按钮的响应函数里处理不行吗?

16,467

社区成员

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

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

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