dll中有个窗口,其他线程发消息关闭不了

MFC dll中封装了个窗口,窗口是在一工作线程中DoModal创建显示的. 窗口显示运行很正常,手动点击关闭按钮也能正常关闭释放(DoModal返回), 但有个奇怪的问题,其他线程往这个窗口发消息,窗口处理消息关闭窗口,会有问题:窗口不见了,但DoModal还是阻塞在那,没有返回,跟踪进去,发现是阻塞在   ::DestroyWindow的api调用. 有高手指点一二,是啥问题. 我的窗口工作线程: DWORD WINAPI DlgThread(LPVOID param) { AFX_MANA

用netty做server如何同时给多个连入的socket发消息?

最近用netty做个东西,目前做个demo,实现了echo,但是研究了几天还是不知道如何同时给多个连入的socket发消息.有知道的大神麻烦指点一下,包括使用哪些类,哪些方法,谢谢了! 您的意思是进入public void channelActive(final ChannelHandlerContext ctx)后,把ctx.channel()放进channelList吗? 客户机连接到服务器端,你保存channelList ,然后迭代list内的channel,调用chanel.write方

delphi往Mq服务器发消息的客户端电脑要安装软件吗

哪位有delphi 6或7 对ibm mq 发送队列消息的例子吗 delphi往Mq服务器发消息的客户端电脑要安装软件吗,是不是要安装客户机 delphi调用的时候server调用mqm.dll,client调用mqic32.dll. 如果是仿真连接mq在本地,模拟服务端,那么需要调用mqm.dll,只需要制定队列管理器名称和队列名称. 如果模拟客户端,需要IP和端口,还有消息通道. 连接实例: procedure TForm1.Button1Click(Sender: TObject); va

MFC 创建dll 给另一个exe发消息

RT 现在需要创建一个dll,然后自定义一个类,这个类主要做的事就是启动exe,然后给这个exe里面的button发消息,然后获取里面的一些表格数据. 现在出现一个问题就是这个消息怎么发给这个exe中的控件,多谢. 因为积分不够,请谅解! 谢谢回复,是这样,我这个exe在另一个同事的电脑上就可以进行发消息,但是同样的程序在我电脑上就不行,我觉得很奇怪,而且就是这个exe,别的也没事,我现在不能确定问题出在哪,很是悲伤 你可能就是权限的问题了

TIdUDPServer 怎么给客户端发消息呢

找了一下午的资料..嫩是找不到办法. 我想实现, 像QQ那样, 一对一的聊天.  QQ太恶心了, 占资源越来越大.  我也只想和一个朋友进行1对1的文字传输. TIdUDPClient 向 TIdUDPServer 发消息, 是可以实现了.  现在问题就是,  TIdUDPServer 怎么向TIdUDPClient 发送消息. 客户端不映射端口可以吗?    先谢谢了.      超时时间设置短一些,捕获超时异常,类似: while not terminated begin     try  

ServerSocket能否主动发消息

ServerSocket ,ClientSocket 一台PC连接多个终端,但是前提是PC需要发消息到终端. 本是想PC作为 服务端 ,终端作为客户端,PC发送消息过去,终端会自动返回数据. 目前看到的资料均是 必须 由 客户端先发送消息到 服务端,服务端然后保存相关信息,然后再往客户端发送数据. 现在要求的是 客户端不首先发起通信,服务端根据数据库中保存的IP地址以及PORT 给每个客户端 轮询发送数据,客户端 返回数据.这个如何实现? (也想过PC作为客户端,终端作为服务端,但是这样PC上不

怎样从一个线程里发消息给另一个线程

怎样从一个线程里发消息给另一个线程? 在主线程里创建了一个线程,现在要在这个分线程里发消息给主线程里的 Dialog,可是Dialog毫不响应: UINT RunMyThread(LPVOID pParam) { int i=*(int *)pParam; switch(i) { case 0://call host updateList(); break; case 1://start servers break; case 2://stop servers break; } ::SendMe

调试时遇到 PostThreadMessage 这种发消息,怎么单步跟踪去哪儿了?

调试时遇到 PostThreadMessage 这种发消息,怎么单步跟踪去哪儿了? 谢谢. 找到该线程消息泵,找到该消息打上断点

进程之发消息通信

问题:我开启动一个进程A后,点击它的一个按钮启动另一个执行程序B,现在我想A向B发消息,但是我获取不到B的窗口句柄,用FindWindow获取不来,因为B执行后只在进程中看到,不在应用程序中,导致我获取的每次都为空,请问要怎么改进呢? 1:B启动后广播一个消息,把B的句柄放到参数里发过来 2:启动B时把A的句柄作为命令行参数传入,然后B给A发个消息并把自己句柄作为参数发过来 3:试下EnumWindows 4:枚举进程的所有线程及其内的窗口句柄 http://www.codesky.net/ar

线程间发消息的问题

WndProc(HWND hwnd, UINT iMsg,WPARAM wParam,LPARAM lParam) {    switch(iMsg)    {     case WM_PAINT:         XXXXXXX;     case WM_CREATE:         XXXXXX;         CreateThread(NULL,0,ServerThread,(LPVOID)hwnd,0,NULL);     } } DWORD WINAPI ServerThread(

关于局域网中连接外网,外网能否向局域网发消息?

比如在公司内部的一台电脑,ip地址是192.168.1.100,外网的电脑的ip是113.67.167.61, 外网电脑有个tcp服务器,用公司内部的一台电脑写了个客户端,去连接外网的tcp服务器, 当tcp服务器给局域网电脑回复消息的时候,也就是113.67.167.61电脑向192.168.1.100电脑 发消息,tcp服务器是怎样找到192.168.1.100这台电脑的,客户端是否要进行网卡地址转换来 通过公司外网的 ip来转发到内网呢? 公司内网的电脑向外网服务器发送数据,当服务器有来自

触发器怎么向应用程序发消息?

当数据库的触发器检测到数据库有改变时,怎么向外部应用程序发消息啊?外部应用程序又是怎么接消息的呢? 希望能给一个例子,解释一下....... 触发器直接想外面程序发信息,这个是不可取的 可以这样考虑,建立一个警报日志表 触发器里有数据改变时,则往警报日志表里记录日志 外面程序定时周期性扫描警报日志表里面未处理的记录.

qt发消息怎么用

Windows中sendmessage是可以传送两个参数(WPARAM,LPARAM)的 而qt中的发消息函数sendEvent只有两个参数,怎样传送类似(WPARAM,LPARAM)的参数呢? 每个QObject对象都会有最基本的方法: virtual bool event(QEvent* e); 注意它是公有的虚函数, 所以在子类中都可以应用~`` 它是实时监控对它有用的事件 :)

ActiveX控件如何向应用程序发消息?

由于我公司的产品对串行通讯有特殊要求,用API或MSCOMM控件都不合适,所以我自己写了一个串口的驱动程序,为方便使用驱动程序,又写了一个基于这个驱动程序的ACTIVEX控件,控件中创建一个线程测试驱动程序的接收缓冲区状态,如果接收到新的字节,就向父窗口发一个消息,但如何发消息呢?我尝试使用GetParent(),但这一句运行时出错,为什么? 部分代码: UINT CFaCommCtrl::CommReceivingProc(LPVOID lpData)  //此函数是静态成员函数,实际上可以改

当客户端发消息没收到服务端返回后出错

IOCP心跳包设置的20秒1次,长时间挂着测试发现  有时候如果服务器网络出问题了 客户端发出去以后 就一直收不到服务端的返回消息 这时候客户端发包就始终发不出去了,但是send方法是成功了,遇到这种情况怎么处理呢?怎么让客户端恢复继续可以发包收包 因为这种情况的时候客户端基本就是挂了 没法继续发包了 难道要重连啊? 谢谢 断开重连~~~~

socket 外网给内网ABC发消息

本人菜鸟,不懂地址转发,NAT什么的. 但从逻辑上来讲,我们寄快递,打电话,包括这里的socket来发送消息,我觉得一定都要有个明确的.唯一的对方"地址",不然神仙也不知道你的目的是谁.问题就在于内网ABC电脑的公网IP是一样的(理论上他们的公网IP以及内网IP可以组合成唯一的地址.公网IP像小区地址,各单元楼层门牌号就是内网IP,小区地址+门牌号组成了各户唯一的地址) F:服务器(IP222.78.216.19:8080)     ABC:同一局域网三台电脑 A 和 B 登录,连接F

这个如果第二个向第四个发消息,为什么根本就不会发

根本就不会发出去,还没有发出去就会显示发送错误的标志.就是图上的那个.如果不是一个网络的不能发送,那怎么可能会把消息发送到别的网络呢? 必须配置默认网关才可以将消息发到其他的网络么?我没配置默认网关. 是的.如果发出的信息不在本地网路段,会转发给网关. 我目前在考网络高级职称,和你一同学习.呵呵.

知道了对方的MAC地址还有IP怎么发消息给对方。

    是这样的,我在路由器里看见有人在偷用我的无线网络,我想发个消息告诉他用可以别下载,不然我要改密码了...因为我以前也有偷用过别人网..     怎么做才可以发这么一个消息给他啊... 楼主在自己的共享文件夹里放个文本文件,把你要跟对方说的事情写在这个文件里

基于TCP连接的多个程序批次连接互发消息

需要写一个程序,彼此之间通过TCP连接,不分服务器和客户端,就一个程序,不像QQ通过服务器转发:类似飞秋,软件之间彼此连接发送消息.能不能提供一下代码的思路啊~~引用不分服务器和客户端 那就把每台机器既当成是一个客户端也当成是一个服务器来写,既监听别人,也被别人监听.在JAVA中,就是同时实现 socket 与 serversocket 的功能

给记事本发消息不能成功

    HWND m_hWnd = FindWindow("Notepad", "无标题 - 记事本");     PostMessage(m_hWnd, WM_SYSKEYDOWN, VK_MENU, MakeKeyLparam(VK_MENU, WM_SYSKEYDOWN));     PostMessage(m_hWnd, WM_SYSKEYDOWN, 'E', MakeKeyLparam('E', WM_SYSKEYDOWN));     PostMessa

分页: