tft每日頭條

 > 科技

 > c語言控制程序

c語言控制程序

科技 更新时间:2025-01-09 05:16:02

c語言控制程序(遠程控制C語言編程教學)1

關注《一碳科技》獲取更多幹貨哦!


遠程控制鼠标

小編又給大家帶來幹貨啦,而且此次幹貨是大家比較感興趣的——遠程控制鼠标,和之前一樣,小編使用的是socket來實現的,說難也難,說簡單也簡單,對于接觸過socket的同學可能會簡單一點,而剛剛入門的同學對于這個可能會有點難以理解,但是,既然你看了小編的文章,那麼小編就盡力讓你看得懂、學得會!

c語言控制程序(遠程控制C語言編程教學)2

上菜!

首先,我們需要用到windows.h、WinSock2.h、stdio.h這三個頭文件,除了以上三個以外,我們還需要一個ws2_32.lib鍊接庫。

我們要編寫兩個函數,分别實現連接控制端、接受控制端數據并設置鼠标位置,小編分别取名為socket_connet()、recv_setpos()。

c語言控制程序(遠程控制C語言編程教學)3

socket_connet()

這個函數中,我們需要申請一個WSADATA類型的變量用來儲存WSAStartup()函數初始化返回的初始化信息的,除此之外還需要一個SOCKET類型變量、SOCKADDR_IN結構體。

第一步先初始化,然後才能使用其他的socket函數,這一點必須要記住!初始化完成之後就要開始連接服務器了,這時我們會用到connet函數,但是在使用connet函數之前,我們要申請一個套接字,這就需要用到socket函數了。

c語言控制程序(遠程控制C語言編程教學)4

socket()函數第一個參數是套接字使用的協議族,通常是AF_INET,第二個參數是我們要使用的通訊協議,這裡我們使用的是TCP,所以這裡填SOCK_STREAM,第三個參數一般填0。緊接着,我們将控制端的ip地址、所使用的協議族、端口号等數據填入SOCKADDR_IN結構體中。

c語言控制程序(遠程控制C語言編程教學)5

接下來就是使用connet函數連接控制端了,這個函數比較簡單,第一個參數是我們剛才申請的套接字,第二個參數是服務器的地址信息(SOCKADDR_IN),第三個是SOCKADDR_IN所占的空間大小。寫到這裡,我們已經成功連接了控制端了。

c語言控制程序(遠程控制C語言編程教學)6

recv_setpos()

接收控制端發過來的數據就要使用的recv()函數,這個函數需要四個參數,第一個參數是我們申請的套接字,第二個參數是存放數據的“地方”,第三個是存放數據的“地方”大小,第四個參數設置為0,具體實現步驟可以在源碼上看到。

c語言控制程序(遠程控制C語言編程教學)7

小編使用一個int類型的數組,用來儲存控制端發過來的鼠标位置信息,該數組隻有一個成員,小編實現控制鼠标的步驟是,接收控制端發過來的鼠标X軸數據填入POINT結構體中,然後再接收控制端發過來的鼠标Y軸數據填入POTIN結構體中

c語言控制程序(遠程控制C語言編程教學)8

POINT結構體是用來存儲鼠标位置信息的,成員為兩個LONG類型的變量,我們的光标X、Y軸數據就存儲在這兩個變量當中,設置鼠标位置需要用到SetCursorPos()函數,這個函數接收兩個LONG類型的參數,分别表示光标在X軸、Y軸上的位置。

c語言控制程序(遠程控制C語言編程教學)9

如何做到實時更新鼠标位置?

小編使用一個while循環不斷地接收控制端發過來的鼠标位置數據,然後在循環裡設置鼠标位置,在不斷地循環當中,鼠标就像被遠程控制一樣,控制端的鼠标在哪,被控端的鼠标就在哪。

c語言控制程序(遠程控制C語言編程教學)10

控制端,源碼獲取

由于時間問題,控制端教學将在下一篇文章中發布,關注《一碳科技》及時了解最新教程。

如何獲取源碼?

先關注《一碳科技》,程序源碼将在下一篇文章中發給大家,所以,想要獲取源碼的同學,可以留意《一碳科技》的動态。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved