(C++) SendMessage 模拟消息:深信服 EasyConnect 断线自动重连的实现

作者: iEdon 分类: C++ 发布时间: 2019-04-06 23:16

Windows 下的窗口是靠消息(Message)来驱动的。用户的操作由系统向程序发送消息,告诉程序用户做了什么操作。

情景

笔者使用 EasyConnect 连接自己学校内网。跑了服务需要一直保持与校园网的连接。EasyConnect 在检测到一段时间无流量/网络切换后会自动强制断开连接。

尝试

看到 EasyConnect 产品目录下有 LogoutTimeOut.exe,运行后发现就是断开提示信息。

立即联想到可以写一个程序替换,当 EasyConnect 客户端超时拉起此提示时,调用自己的程序然后重启 EasyConnect。在尝试后,发现会造成系统直接死机?(未深入研究)联想到深信服家产品普遍有“那种”背景,推测可能被检测了。

检测

接下来笔者立即想到可以循环遍历窗口句柄,然后模拟按钮点击事件解决。经过测试,此办法有效。以下附上代码:(编译环境:VS2015 64Bit, 运行环境:Windows Server 2003 R2 X64 SP2)

经测试,可以自动重新连接。

一条评论
  • mooc

    2019年4月18日 下午3:46

    代码收走了,楼主好人 😀

发表评论

电子邮件地址不会被公开。 必填项已用*标注

标签云