我正在尝试模拟远程控制软件。所以,我使用了journalrecord全局钩子来捕获machine1中的所有事件。捕获的事件通过数据通道传输到machine2。在接收方,我收集事件以缓冲并开始使用journalplayback hook。在那个过程中,我无法播放Windows键,windows + r,alt-tab键组合。我看到我发送和接收的事件都是一样的,但不会丢失。
记录和播放消息时间的逻辑是:
在Record端,我将eventmsg结构时间修改为
Record_EventMsg-> time = timeGetTime();
在播放端,增量计算是。
延迟=(playback_msg_.time - playback_first_msg_time_) - (timeGetTime() - playback_start_time _);
if(延迟<0) delay = 0;
返回延迟;