首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

动态库中的消息处理解决办法

2012-09-08 
动态库中的消息处理我在Form中有两个按钮事件Button1Click,Button2ClickButton1Click(){HWND hwnd FindW

动态库中的消息处理
我在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);

热点排行