亂跑的滑鼠指針
很久沒有給大家帶來乾貨了,小編深感抱歉,由於時間的原因,小編只能給大家帶來簡單、有趣的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()函數就可以了。
程序結果+源碼獲取
程序的試驗視頻可以在《一碳科技》主頁中的動態欄目找到。
如何獲取程序源碼?關注《一碳科技》,並私信關鍵字「亂跑的光標學習源碼獲取」,注意關鍵字千萬不能錯哦,因為關鍵字是靠機器人識別的,如果機器人識別不出來就無法發送源碼了哦!