c语言远程控制,远程控制鼠标!C语言网络编程:使用socket实现,送源码!

小编又给大家带来干货啦,而且此次干货是大家比较感兴趣的——远程控制鼠标,和之前一样,小编使用的是socket来实现的,说难也难,说简单也简单,对于接触过socket的同学可能会简单一点,而刚刚入门的同学对于这个可能会有点难以理解,但是,既然你看了小编的文章,那么小编就尽力让你看得懂、学得会!

上菜!

首先,我们需要用到windows.h、WinSock2.h、stdio.h这三个头文件,除了以上三个以外,我们还需要一个ws2_32.lib链接库。

我们要编写两个函数,分别实现连接控制端、接受控制端数据并设置鼠标位置,小编分别取名为socket_connet()、recv_setpos()。

146431214_2_20181009120333511

socket_connet()

这个函数中,我们需要申请一个WSADATA类型的变量用来储存WSAStartup()函数初始化返回的初始化信息的,除此之外还需要一个SOCKET类型变量、SOCKADDR_IN结构体。

第一步先初始化,然后才能使用其他的socket函数,这一点必须要记住!初始化完成之后就要开始连接服务器了,这时我们会用到connet函数,但是在使用connet函数之前,我们要申请一个套接字,这就需要用到socket函数了。

146431214_3_20181009120333605

socket()函数第一个参数是套接字使用的协议族,通常是AF_INET,第二个参数是我们要使用的通讯协议,这里我们使用的是TCP,所以这里填SOCK_STREAM,第三个参数一般填0。紧接着,我们将控制端的ip地址、所使用的协议族、端口号等数据填入SOCKADDR_IN结构体中。

146431214_4_20181009120333699

接下来就是使用connet函数连接控制端了,这个函数比较简单,第一个参数是我们刚才申请的套接字,第二个参数是服务器的地址信息(SOCKADDR_IN),第三个是SOCKADDR_IN所占的空间大小。写到这里,我们已经成功连接了控制端了。

146431214_5_20181009120333792

recv_setpos()

要接收控制端发过来的数据就要使用的recv()函数,这个函数需要四个参数,第一个参数是我们申请的套接字,第二个参数是存放数据的“地方”,第三个是存放数据的“地方”大小,第四个参数设置为0,具体实现步骤可以在源码上看到。

146431214_6_20181009120333980

小编使用一个int类型的数组,用来储存控制端发过来的鼠标位置信息,该数组只有一个成员,小编实现控制鼠标的步骤是,接收控制端发过来的鼠标X轴数据填入POINT结构体中,然后再接收控制端发过来的鼠标Y轴数据填入POTIN结构体中。

146431214_7_2018100912033458

POINT结构体是用来存储鼠标位置信息的,成员为两个LONG类型的变量,我们的光标X、Y轴数据就存储在这两个变量当中,设置鼠标位置需要用到SetCursorPos()函数,这个函数接收两个LONG类型的参数,分别表示光标在X轴、Y轴上的位置。

146431214_8_20181009120334136

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值