动态库中的消息处理
我在Form中有两个按钮事件Button1Click,Button2Click
Button1Click()
{
HWND hwnd = FindWindow(TEXT("TF_Main"), NULL);
if (hwnd)
{
HWND hbtn = FindWindowEx(hwnd, NULL, TEXT("TButton"), TEXT("Button2"));
if (hbtn)
{
SendMessage(hbtn, BM_CLICK, 0, 0);
}
}
}
Button2Click()
{
ShowMessage("OK");
}
这段代码在普通工程中运行客户实现,但是把Form这个窗体和代码做成动态库的形式,为啥SendMessage(hbtn, BM_CLICK, 0, 0);发送消息不成功,即不执行Button2Click事件。
谢谢大家
[解决办法]
把这个form类名设的复杂一些。编译完成后,关闭IDE(因为IDE中打开那个form的话,会存在一个同类名的窗口,FindWindow就可能会找错窗口。
[解决办法]
换成PostMessage再试,如:
PostMessage(hbtn, BM_CLICK, 0, 0);