V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Kasumi20
V2EX  ›  程序员

写了个微信电脑消息机器人,有个无语的 Bug

  •  
  •   Kasumi20 ·
    develon2015 · 2022-07-04 21:56:15 +08:00 · 3396 次点击
    这是一个创建于 868 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在自己电脑上一切都正常,部署到 VPS 上开始也正常,不过断开远程连接后死活收不到消息,后来发现是 GetForegroundWindow()检测到没有在前台运行,怎么也不能激活这个窗口了,进去 VNC 登录一下再退出又正常了。。。

    代码: https://github.com/develon2015/wxbot/blob/main/src/main.cpp#L125

    18 条回复    2022-07-05 14:31:56 +08:00
    bobawujh
        1
    bobawujh  
       2022-07-04 22:07:08 +08:00 via Android
    同地区买多一台机器
    24 小时 rdp 过去就行了 也不用改代码了
    zhuweiyou
        2
    zhuweiyou  
       2022-07-04 22:14:54 +08:00
    SendMessage... 模拟点击? 不太稳吧.
    pytth
        3
    pytth  
       2022-07-04 22:24:17 +08:00
    我用 python 也写了一个模拟点击的,已经实现了:

    # 发送文本消息(微信号或微信昵称或备注,需要发送的文本消息)
    # SendWxMsg('xxx','Python 发送微信消息')

    # 发送文件消息(图片、文档、压缩包等)
    # SendWxFileMsg('xxx',r"C:\Users\TANKING\Desktop\xxx.jpg")

    # 转发群里最新的一条消息(微信号或微信昵称或备注,群名称)
    # ZhuanfaMsg('xxx','xxx')

    # 获取你的个人信息(昵称、微信号)
    # GetYourInfo()

    # 获取好友微信的个人信息(昵称、微信号)
    # GetFriendInfo('xxx')

    # 获取微信群人数
    # GetCharRoomUserNum('xxx①群')

    # 发布群公告
    # AddGorupNotice('工作号','Python 发布群公告')

    # 邀请好友进群
    # ReqFriendsToGroup('xxx④群','微信号')

    # 获取好友最新的聊天记录
    # GetChatRecord('微信号')
    akira
        4
    akira  
       2022-07-04 23:20:40 +08:00
    是 windows server 版本的 服务器么
    Kasumi20
        5
    Kasumi20  
    OP
       2022-07-05 00:16:55 +08:00
    @akira 是的
    xLuoBo
        6
    xLuoBo  
       2022-07-05 00:58:15 +08:00 via iPhone
    我有一台 n1 装的 ubuntu 桌面版,vnc 控制他的时候有显示器很流畅,拔掉显示器就异常的卡顿。

    总不能搞个显示器常年插着吧,解决方案是:虚拟一台显示器,vnc 立马流畅了
    lmaq
        7
    lmaq  
       2022-07-05 01:14:58 +08:00
    以服务方式运行才可以
    beijiaoff
        8
    beijiaoff  
       2022-07-05 08:32:21 +08:00
    @xLuoBo 有实体的虚拟显示器,就是插上一个 hdmi 接口,不带显示器。
    PowerDi
        9
    PowerDi  
       2022-07-05 08:50:04 +08:00
    @xLuoBo 请教有什么方案可以虚拟一台显示器?
    TsubasaHanekaw
        10
    TsubasaHanekaw  
       2022-07-05 09:08:27 +08:00
    淘宝买 hdmi 欺骗器就行 十几块钱
    chengyiqun
        11
    chengyiqun  
       2022-07-05 09:09:21 +08:00
    @PowerDi #9 搜下 显卡欺骗器, HDMI 诱骗, 显卡假负载
    chengyiqun
        12
    chengyiqun  
       2022-07-05 09:10:13 +08:00
    @TsubasaHanekaw #10 有个问题, 欺骗器怎么撞到 vps 的主机上? 那不是云服务提供的吗?
    lizhenda
        13
    lizhenda  
       2022-07-05 09:36:27 +08:00
    转个 Xvfb ?
    LeegoYih
        14
    LeegoYih  
       2022-07-05 11:01:19 +08:00   ❤️ 1
    OP 是指因为远程桌面断开连接后,自动锁屏导致无法获取窗口吗?我解决过类似的问题

    通过 tscon 保持 Windows 远程桌面关闭后仍可交互的方法: https://github.com/yihleego/robotic-process-automation#%E9%80%9A%E8%BF%87tscon%E4%BF%9D%E6%8C%81windows%E8%BF%9C%E7%A8%8B%E6%A1%8C%E9%9D%A2%E5%85%B3%E9%97%AD%E5%90%8E%E4%BB%8D%E5%8F%AF%E4%BA%A4%E4%BA%92%E7%9A%84%E6%96%B9%E6%B3%95
    Kasumi20
        15
    Kasumi20  
    OP
       2022-07-05 11:36:31 +08:00
    @LeegoYih 谢谢,应该就是这个问题
    ysc3839
        16
    ysc3839  
       2022-07-05 12:33:10 +08:00 via Android
    建议试试用 PostMessage 直接发送键盘鼠标事件
    qile1
        17
    qile1  
       2022-07-05 12:56:11 +08:00 via Android
    @pytth @pytth 能不能分享下,我用微信测试公众号申请了个测试程序,自己写了个发消息功能,但是我两个测试号可以收到消息,另外两个人收不到,奇怪啦
    baiyaoqiang
        18
    baiyaoqiang  
       2022-07-05 14:31:56 +08:00
    造轮子多累呀
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5935 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 02:25 · PVG 10:25 · LAX 18:25 · JFK 21:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.