sendmessage不起作用 描述:有文件A.CPP,B.CPP,其中A文件是窗口创建和窗口过程的主文件,文件B有一个函数fn,调用fn后向窗口发送自定义的一个WM_MYMSG消息,使用SendMessage()函数,却无法实现消息的发送,我调试发现,在A中发送同样的消息却可以实现,我是用findwindow()函数找窗口句柄的,返回不是null,说明窗口存在,有点疑惑,忘知者指点。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 调试下,看fn FindWindow找到的是不是A所创建的那个窗口 也许有重名的窗体,导致findwindow发现结果不对 B文件中BOOL StartServer(){ 连接数据库; if 连接成功 SendMessage(FindWindow(null,szTitle),WM_CONNSQLOK,0,0);}A文件:LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){ switch(umsg){ case WM_CONNSQLOK: //这里不执行 SendMessage(hStatusBar,SB_SETTEXT,0,(LONG)szMsg); break;} } 数据库连接是一定成功的的,我调试过了 switch(umsg)?发送自定义消息时一般自己写接收消息的函数,参考http://blog.csdn.net/mubai007/archive/2009/03/03/3951752.aspxhttp://blog.csdn.net/mubai007/archive/2009/03/03/3951752.aspx FindWindow(null,szTitle) 值是多少?是否为空。。? “case WM_CONNSQLOK: //这里不执行"跟踪调试下吧,看看是否真的发出了消息,找到的窗口是否正确。另外问下WM_CONNSQLOK的值是多少,两个文件里用的是相同的定义吧? 怎么将快捷菜单的某一项设置为不可用? Win7 COM 关于 Visual Studio 2008 命令提示 一小段代码!谢谢! 要完成一个打印预览和打印的功能 PumpMessages 的问题 帮忙debug一下 在CListView中怎么刷新窗口? GetFileVersionInfo函数能在dll中使用吗? :莱鸟级问题:怎样求int 型数的个位? DLL基础知识求教 为什么不同的电源管理软件显示的电池信息不一样呢?
BOOL StartServer(){
连接数据库;
if 连接成功 SendMessage(FindWindow(null,szTitle),WM_CONNSQLOK,0,0);
}A文件:
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch(umsg){
case WM_CONNSQLOK: //这里不执行
SendMessage(hStatusBar,SB_SETTEXT,0,(LONG)szMsg);
break;
}
}
数据库连接是一定成功的的,我调试过了
参考http://blog.csdn.net/mubai007/archive/2009/03/03/3951752.aspxhttp://blog.csdn.net/mubai007/archive/2009/03/03/3951752.aspx