C#实现远程按键同步

本文介绍如何使用C#通过TCP/IP协议实现远程按键同步,适用于演示报告等场景,确保两台机器的PPT播放保持同步。文章详细阐述了基本思路、实现方案,包括主机和从机的角色、全局键盘钩子、TCP连接和模拟键盘指令的使用。后期完善部分讨论了指令堆栈的建立和键盘指令格式化传送,解决了快速按键导致的问题,确保了程序的稳定性和同步效果。
摘要由CSDN通过智能技术生成

C#实现远程按键同步

由于一个演示报告需要让两台机器的PPt播放同步,没有长驱等连接设备,就用C#通过TCP/IP协议走网络实现两台机器按键同步的功能。

1.基本思路

程序分为两个部分:主机和从机。

主机主要功能:调用全局键盘钩子监听用户按键,建立TCP套接字,然后通过套接字向从机发送键盘指令。

从机主要功能,与主机建立TCP连接,接收主机的按键指令,并在本地模拟全局键盘信号。

2.实现方案

主要涉及的关键技术:获取全局键盘钩子TCP连接模拟键盘指令

3后期完善

花了半天的时间,边问度娘边实现了,实现之后同步基本PPT操作(空格键,方向键)没有问题,但是发现一旦两次按键间隔时间过小(3-4次/秒),就会引发消息传送出错,甚至系统崩溃。又用了半天的时间解决。

3.1建立指令堆栈

从机建立指令堆栈,将接受到的指令先压入堆栈中,而不是直接发送出去,避免速度太快系统崩溃。

    
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值