【发布时间】:2018-12-02 05:39:13
【问题描述】:
我想在窗口的按钮上发送一个点击消息,它的标题是“Form1”,按钮的标题是“button1”这是我的代码:
我通过 SPY++ 检查了这个句柄似乎是正确的..
#include "stdafx.h"
#include <windows.h>
#include <conio.h>
int main()
{
while(1)
{
HWND HWin, btn;
HWin = FindWindowExA(NULL,NULL,NULL,"Form1");
btn = FindWindowExA(HWin,0,NULL,"button1");
SendMessage(btn,BM_CLICK,0,0);
_getch();
}
}
这段代码运行良好,一切都很好......但是当“Form1”设置为隐藏时 sendMessage 似乎不起作用!为什么???
注意FindWindowExA(...) 在 "Form1" 隐藏时仍然返回相同的句柄,并且与前一个相同(显示时)
设置“Form1”的隐藏/显示是通过以下几行完成的:
显示:
ShowWindow(HWin,SW_SHOW);
隐藏:
ShowWindow(HWin,SW_HIDE);
我在 VS 2010 上运行
我想知道 sendMessage 是否在隐藏窗口上不起作用,还有其他方法吗??
谢谢大家
【问题讨论】:
-
根据
BM_CLICK文档:“如果按钮在对话框中并且对话框未处于活动状态,则 BM_CLICK 消息可能会失败。”为什么会这样?向隐藏的窗口发送点击(面向视觉的操作)会成功吗?
标签: c++ visual-studio-2010 visual-c++ sendmessage