远程控制!C语言编程教学:简单远控制作教学,送源码!
关注《一碳科技》获取更多干货哦!
远程控制鼠标
小编又给大家带来干货啦,而且此次干货是大家比较感兴趣的——远程控制鼠标 ,和之前一样,小编使用的是socket 来实现的,说难也难,说简单也简单,对于接触过socket的同学可能会简单一点,而刚刚入门的同学对于这个可能会有点难以理解,但是,既然你看了小编的文章,那么小编就尽力让你看得懂、学得会!
上菜!
首先,我们需要用到windows.h、WinSock2.h、stdio.h 这三个头文件,除了以上三个以外,我们还需要一个ws2_32.lib 链接库。
我们要编写两个函数,分别实现连接控制端、接受控制端数据并设置鼠标位置 ,小编分别取名为socket_connet()、recv_setpos()。
socket_connet()
这个函数中,我们需要申请一个WSADATA 类型的变量用来储存WSAStartup() 函数初始化返回的初始化信息的,除此之外还需要一个SOCKET类型变量、SOCKADDR_IN结构体。
第一步先初始化,然后才能使用其他的socket函数,这一点必须要记住!初始化完成之后就要开始连接服务器了,这时我们会用到connet函数,但是在使用connet函数之前,我们要申请一个套接字,这就需要用到socket函数了。
socket()函数 第一个参数是套接字使用的协议族,通常是AF_INET ,第二个参数是我们要使用的通讯协议,这里我们使用的是TCP ,所以这里填SOCK_STREAM ,第三个参数一般填0。紧接着,我们将控制端的ip地址、所使用的协议族、端口号等数据填入SOCKADDR_IN结构体中。
接下来就是使用connet函数 连接控制端了,这个函数比较简单,第一个参数是我们刚才申请的套接字,第二个参数是服务器的地址信息(SOCKADDR_IN ),第三个是SOCKADDR_IN所占的空间大小。写到这里,我们已经成功连接了控制端了。
recv_setpos()
要接收控制端发过来的数据 就要使用的recv()函数 ,这个函数需要四个参数,第一个参数是我们申请的套接字,第二个参数是存放数据的“地方”,第三个是存放数据的“地方”大小,第四个参数设置为0,具体实现步骤可以在源码上看到。
小编使用一个int类型的数组,用来储存控制端发过来的鼠标位置信息 ,该数组只有一个成员,小编实现控制鼠标的步骤是,接收控制端发过来的鼠标X轴数据填入POINT结构体中 ,然后再接收控制端发过来的鼠标Y轴数据填入POTIN结构体中 。
POINT结构体是用来存储鼠标位置信息的,成员为两个LONG类型 的变量,我们的光标X、Y轴数据就存储在这两个变量当中,设置鼠标位置需要用到SetCursorPos()函数 ,这个函数接收两个LONG类型的参数,分别表示光标在X轴、Y轴上的位置。
如何做到实时更新鼠标位置?
小编使用一个while循环不断地接收控制端发过来的鼠标位置数据,然后在循环里设置鼠标位置,在不断地循环当中,鼠标就像被远程控制一样,控制端的鼠标在哪,被控端的鼠标就在哪。
控制端,源码获取
由于时间问题,控制端教学 将在下一篇文章中发布,关注《一碳科技》及时了解最新教程。
如何获取源码?
先关注《一碳科技》 ,程序源码将在下一篇文章中发给大家,所以,想要获取源码的同学,可以留意《一碳科技》 的动态。
要实用还得看 C#!六款最新高实用性 C#开源项目分享
C# 作为一款老牌语言,虽然在热度上和流行性上和别的语言有所差距,但在 Windows 生态中,C# 仍然有重要的一席之地,围绕 Windows 生态,C# 仍然能拥有强大的力量。今天为大家介绍的就是六款高实用性的 C# 项目,一起来看看吧。
1.SiMay远程控制管理系统
项目作者:koko
开源许可协议:AGPL-3.0
项目地址:https://gitee.com/dWwwang/SiMayRemoteMonitorOS
本项目是一个Windows远程控制系统,项目完全采用C# .NET开发,实现了基于逐行扫描算法远程桌面,桌面视图墙,文件管理,实时语音、视频监控,注册表管理,实时进程管理等功能,各模块采用独立连接,支持异常情况重连。
2.e-contract
项目作者:zygforever
开源许可协议:Apache-2.0
项目地址:https://gitee.com/zygforever/e-contract
电子合同签订系统,全程线上签约,秒速签署,支持PC、手机、微信等多终端签署, 随时随地签合同。
3.WeaveNet
项目作者:dreamsfly
开源许可协议:Apache-2.0
项目地址:https://gitee.com/UDCS/WeaveAI
使用C#编写的用于神经网络的计算图框架computational graph。带cnn,bp,fcn,lstm,convlstm等示例。使用方法接近pytorch。
4.SourceGit
项目作者:leo
开源许可协议:MIT
项目地址:https://gitee.com/sourcegit/SourceGit
开源的Git客户端,仅用于Windows 10。单文件,无需安装,< 500KB。
5.Quartz.NetUI
项目作者:x_discoverer
开源许可协议:MIT
项目地址:https://gitee.com/x_discoverer/Quartz.NetUI
基于.NetCore + Quartz.Net + Vue 开箱即用的定时任务UI。几乎没有上手难度,不依赖数据库,只需在界面做简单配置。
6.FastTunnel
项目作者:SpringHgui
开源许可协议:Apache-2.0
项目地址:https://gitee.com/Hgui/FastTunnel
FastTunnel是一款高性能跨平台内网穿透工具,使用它可以实现在公网上访问您的内网服务。
如果你想去 Gitee 上看看更多 C# 项目,那就点击下方了解更多前往 Gitee 吧。
相关问答
奔驰c手机控制app有哪些功能?
奔驰C车系的手机控制App名为"Mercedesme",这款App提供了许多实用的功能,以下是其中几个主要功能:1.远程控制:用户可以通过App操控车门、车窗和天窗的开关.....
远程控制技术有哪些应用?-懂得
部分应用如下所示:1、远程办公这种远程的办公方式不仅大大缓解了城市交通状况,减少了环境污染,还免去了人们上下班路上奔波的辛劳,更可以提高企业...
斐讯路由器远程管理怎么设置?
在路由器管理界面的系统工具--远端WEB管理,将管理地址设置为远程主机(路由器)的公网IP或者设置为:255.255.255.255即可。SOHO级路由器:在路由器管理界面的...
我的QQ可以远程控制他人的电脑,但是他人不能远程控制我的电...
远程控制也必须要别人配合你才能进入他的电脑,况且你的电脑是开不了机的,也不知道谁会用。但愿你的照片存放在C盘,别人重新安装系统会格式掉。如果别人将你的...
怎样设置电脑的远程控制-c625KDn2的回答-懂得
楼上正解,详细一些,对于win10系统:开始-》设置-》系统-》远程桌面-》打开“启动远程桌面”下面的开关-》弹出来的页面点击确定对于win7系统:计算机...
奔驰C260L运动版有远程启动功能吗?
[最佳回答]远程启动功能:通过汽车智能钥匙就可以启动汽车。远程启动的原理,就是通过智能钥匙给汽车发出信号,远程启动发动机,现在配置比较高的汽车就会配置远...
海尔电热水器怎么用手机遥控?
方法/步骤分步阅读1/7手机主页点击【系统工具】;2/7点击【万能遥控】;3/7点击左上角的【+】号;4/7点击【热水器】;5/7这里以海尔热水器为例,点击【热水...1...
请问为什么他人在远程控制我的电脑时鼠标可以动但点不进去呢...
KingWlaction您好:鼠标箭头会自己动的原因一般都是因为电脑中了木马病毒后电脑被远控后造成的,为了您电脑的安全,建议您使用腾讯电脑管家的杀毒功能对您的电...
我电脑在关机的时候上面提示有人正在远程控制我的计算机,我该怎么办?
是杀毒软件报警吗?上面是有路径的,比如C:/桌面/xxx。exe程序正在远程控制,注入代码/访问网站……然后就你根据他给的路径,找到那个文件,你看看是什么软件,...
手机怎么远程控制电脑?
手机远程控制电脑有几种方式:1、通过Teamviewer控制。Teamviewer是一款远程控制软件,可以用于电脑远程控制和手机远程控制电脑。该软件是共享软件,只要不是用...