「亂跑」的光標!C語言簡單小程序:用在舍友電腦上試試!

2020-12-15 編程高手傑瑞

亂跑的滑鼠指針

很久沒有給大家帶來乾貨了,小編深感抱歉,由於時間的原因,小編只能給大家帶來簡單、有趣的C語言教程了,小編會經常發一些簡單的教程,並定期給大家發布一些比較深入、知識點較多的編程教學。

今天小編就先教大家編寫一個簡單、有趣的C語言程序。這個程序是這樣的,當程序打開時,滑鼠指針就會在屏幕上「亂竄」,致使滑鼠無法被控制,從而達到「愚人節」的效果,這個程序只能通過關閉計算機或者alt+f4關閉。那麼,這個程序有什麼用呢?可以用在舍友電腦上試一試,提示:可以幫舍友戒網癮哦

話不多說,上菜!

首先呢,我們需要用到windows.h頭文件,因為我們的程序會使用到GetcursorPos()SetcursorPos()函數,這兩個函數分別實現「獲取滑鼠位置」、「設置滑鼠位置」的功能。

GetcursorPos()需要用到一個POINT類型的參數,這個類型的變量存放著滑鼠的位置信息,而GetcursorPos()要完成的任務則是將獲取到的滑鼠位置信息,存放到POINT類型的變量當中,當然,這個程序中我們並沒有用到這個函數,但是在這裡給大家講一下,反正遲早都是要用到的。

生成偽隨機數

我們要讓光標在屏幕中「亂跳」,那麼,我們就必須使光標的坐標成為一組隨機數,如何來生成隨機數呢?使用srand()函數、time()函數和rand()函數就可以做到。

我們需要用srand()函數來生成一個種子,這個種子rand()函數將會用這個種子生成隨機數,同一個種子生成的隨機數相同,所以我們必須要讓每個種子都不相同,這就要用到time()函數了,這個函數(time(NULL))會返回1970年1月1日0點到現在這個時刻所經過的秒數

我們生成的隨機數要有一個範圍,因為我們的屏幕大小是有限的,也就是說隨機生成的X和Y要在一個有限的區間之內,所以小編在rand()的後面加上了%700+0,這一句的意思是,生成的隨機數(X軸)範圍在700~0之間,Y軸隨機生成的數值在1200~0之間,具體數值可根據屏幕解析度自行修改。

設置滑鼠位置

SetcursorPos()函數需要兩個參數,這兩個參數的類型分別為LONG類型,這兩個參數表示欲要設置的滑鼠位置,分別用X和Y表示,X和Y的值就用上面生成的隨機數來表示。將這兩個隨機數傳進SteCrusorPos()函數裡面就可以隨機調整光標位置了。

在這裡小編使用while()循環來不斷地變更光標位置,但是,這裡要注意,我們要給每一次循環都增加一個延時,為什麼呢?因為計算機的運算速度過快,每一次光標位置變更我們是無法察覺的,而連續的快速變更位置,在我們肉眼看來光標就像消失一樣,所以我們要給它增加一個延時,很簡單,用一個Sleep()函數就可以了。

程序結果+源碼獲取

程序的試驗視頻可以在《一碳科技》主頁中的動態欄目找到。

如何獲取程序源碼?關注《一碳科技》,並私信關鍵字亂跑的光標學習源碼獲取」,注意關鍵字千萬不能錯哦,因為關鍵字是靠機器人識別的,如果機器人識別不出來就無法發送源碼了哦!

相關焦點

  • c語言經典小程序匯總大全
    當然,如果你覺得學習程式語言很痛苦,堅持了一段時間後無果,南無果斷放棄未必不是一個好的選擇。 經典C語言小程序10例,今天給大家分享10個比較基礎的C語言的小程序,附上幾個常用的10個小例,希望給C語言初學者帶來一定幫助,熟練運用,舉一反三。
  • 電腦開機黑屏怎麼辦,電腦開機黑屏光標閃怎麼辦
    電腦開機黑屏怎麼辦,臺式/筆記本電腦開機黑屏光標閃怎麼解決。這個問題雖然很少人遇到過,但碰上這個問題的人多半又不會解決,其實有很多個方法都可以解決這個問題,下面我就來說下電腦開機黑屏怎麼辦,臺式/筆記本電腦開機黑屏光標閃怎麼解決。顯示器有沒有損壞。
  • 電腦開機黑屏只顯示光標怎麼辦?來看看幾種原因分析及解決方法!
    電腦開機卻發現一直在黑屏,屏幕上僅有一個光標閃爍,無論等多久都沒有恢復正常。相信不少朋友都有遇到過這種情況,導致電腦出現開機黑屏只有光標的原因很多,解決方法也有所不同。今天我們就來對各種常見的問題進行分析並給出對應的解決方法。
  • 世界上第一個C語言編譯器是怎麼編寫的?它為什麼能夠用C語言編寫?
    不知道大家有沒有想過一個問題:C語言編譯器為什麼能夠用C語言編寫? 今天小編就帶大家一探究竟! 所謂C語言編譯器,就是把編程得到的文件,比如.c,.h的文件,進行讀取,並對內容進行分析,按照C語言的規則,將其轉換成cpu可以執行的二進位文件。
  • 【愛找茬】都是C語言,單片機C語言和普通的C語言究竟有什麼差異呢?
    C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的程式語言。 儘管C語言提供了許多低級處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的C語言程序可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平臺。
  • C語言快速入門——使用Visual Studio 2015創建控制臺應用程式
    控制臺應用程式也被稱作為命令行程序。在Windows中,命令行界面以名為"命令提示符"的應用程式窗口形式存在。雖然命令行界面在很大程序上已經被圖形界面所替代,但是命令行程序經常比為圖形環境編寫程序更為簡單,因此它得以為開始學習一門新的程序設計語言而得以保留。
  • 華氏溫度換算公式及C語言轉換程序代碼
    在美國的日常生活中,多採用這種溫標,用字母「℉」表示。本文引用地址:http://www.eepw.com.cn/article/201710/366259.htm  那麼華氏度(°F)於攝氏度如何換算呢?看如下公式。  溫度計上的字母C表示它測出的數值是攝氏溫度。
  • 免費語言翻譯電腦版
    免費語言翻譯電腦版是一款熱門的學習辦公軟體,功能齊全,操作簡單流暢,具備良好的用戶體驗。
  • c語言入門教程
    導讀:隨著微型計算機的日益普及,C語言成為世界上最流行、使用最廣泛的高級程序設計語言之一。下面我們就一起來了解一下C語言的世界是什麼樣子的吧。在作業系統和系統使用程序以及需要對硬體進行操作的場合,用C語言明顯優於其它高級語言,許多大型應用軟體都是用C語言編寫的。C語言的主要特性有以下幾種:  1.C是高級語言:它把高級語言的基本結構和語句與低級語言的實用性結合起來。  2.C是結構式語言:結構式語言的顯著特點是代碼及數據的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。
  • C/C+編程筆記:如何在電腦上手動配置C+編譯環境?不懂收藏
    如果您想要設置 C++ 語言環境,您需要確保電腦上有以下兩款可用的軟體,文本編輯器和 C++ 編譯器。 文本編輯器的名稱和版本在不同的作業系統上可能會有所不同。例如,Notepad 通常用於 Windows 作業系統上,vim/vi 可用於 Windows 和 Linux/UNIX 作業系統上。通過編輯器創建的文件通常稱為源文件,源文件包含程序原始碼。C++ 程序的源文件通常使用擴展名 .cpp、.cp 或 .c。
  • 入門C語言!
    不管是零基礎的C語言小白,還是有一定基礎想更進一步深入學習的同學都可以關注我,我會一步一步給朋友們講解C語言,在後期也會教大家一些基於C語言的算法程序的編程以及應用的,就比如數論算法,回溯策略,動態規劃策略,貪婪策略等等,讓C語言的學習不在漫無目的,無從下手!
  • 搭建C語言開發環境,其實只需要兩個工具就行了!
    工欲善其事必先利其器,對於c語言學習來說,重要的不是看了多少本書,而是打了多少行代碼。在手打代碼之前,我們當然要先搭建自己的開發環境,對於c語言的學習來說,其實只需要兩個工具就行了,那就是文本編輯器和c編譯器了。
  • 如何用C語言實現面向對象編程OOP?
    如何用C語言實現面向對象編程OOP? 舉個例子吧,我現在有個計劃,要去北京,OOP語言是直接給你一個車,然後你自己設定路線去北京就好,而C語言是需要你自己製造零件,自己組裝好車,然後再自己設定路線,最後到達北京。C語言比較費勁,但是程序的效率很高。 過程&對象?一個對象就是由或多或少的針對這個對象的過程構成的,當然其中是少不了必要的屬性。
  • C語言編譯器哪個好?6款好用的C語言編譯器推薦
    一些剛開始接觸C語言編譯的網友想下載一款C語言編譯器來使用,不過,網絡上有不少C語言編譯器相關的軟體,讓人很難抉擇。那麼,C語言編譯器哪個好?今天的文章裡,小編給大家整理了6款好用的C語言編譯器推薦給大家,需要下載C語言編譯器的網友,不妨了解一下!
  • C語言怎麼樣?今天聊聊C語言的發展史!
    第一個C語言編譯器是怎樣編寫的? 不知道你有沒有想過,大家都用C語言或基於C語言的語言來寫編譯器,那麼世界上第一個C語言編譯器又是怎麼編寫的呢?這不是一個「雞和蛋」的問題…… 回顧一下C語言歷史:Tomphson在BCPL的基礎上開發了B語言,Ritchie又在B語言的基礎上成功開發出了現在的C語言。
  • C/C+編程筆記:C語言預處理命令是什麼?不要以為你直接寫#就行!
    C語言源文件要經過編譯、連結才能生成可執行程序: 1) 編譯(Compile)會將源文件(.c文件)轉換為目標文件。 關於編譯和連結的過程、目標文件和可執行文件的結構、.h 文件和 .c 文件的區別,我們將在後期專題中講解。 在實際開發中,有時候在編譯之前還需要對源文件進行簡單的處理。
  • 新手要怎樣入手C語言呢?這裡有大神教你,自己玩自己做的遊戲!
    那麼小編看完這條留言之後立馬就整理了很多資料,小編也從很多方面和層次的去講解C語言,希望對新手學習C語言有所幫助,那麼我們話不多說,直接進入正文吧!那麼我們想要學習好C語言,首先我們要了解C語言到底是什麼?它究竟可以做什麼。很簡單,小編認為C語言就是一種電腦程式設計的語言,它既具有高級語言的特點,又具有彙編語言的特點。
  • C語言程序的頭文件一般都是.h結尾,還有些.hpp結尾的是什麼?
    很多C語言學習者多多少少也會了解一些C++的語法,應該能夠發現,C語言和C++程序源文件的後綴名是不同的——C語言程序源文件後綴名為「.c」,而C++程序源文件後綴名一般為「.cpp」,「.h」後綴名則常常是頭文件的後綴名。
  • 奇怪的C語言代碼,在變量前加上(void)是什麼操作?有什麼用?
    C語言的語法極其簡潔,即使是初次接觸程式語言的初學者也能很快學完它的語法。不過,C語言也是一門「靈活得過了頭」的程式語言,對於很多初學者來說,編寫C語言程序就好像拿著一堆最基本的磚塊,要修建一座大廈一樣,茫然找不到方向。
  • 電腦上面的Alt有哪些組合快捷鍵可以使用
    前面的幾篇文章我跟大家介紹過幾個電腦的快捷鍵使用,但是哪些快捷鍵的使用都是Ctrl鍵和Windows鍵的組合快捷鍵。今天我想給大家介紹一下Alt鍵的組合快捷鍵有哪些?我們在電腦上又要怎麼使用這些電腦組合快捷鍵?