今天分享一個小程序,真的很小,主要解決強制電腦鎖屏的問題。很多公司出于安全考慮,對員工電腦進行了域策略控制,管理員設置策略,強制組內的PC在一定時間內(比如3分鐘)自動鎖屏,并且必須輸入密碼才能解鎖。
這雖然能避免在公司的安全問題(比如信息泄密),同時也帶來很多麻煩,想象一下,小伙子正聚精會神地研究源代碼(或其他靜態活動),忽然眼前一片黑暗,不得不手動輸入復雜的密碼。好不容易解了鎖,心里卻一直擔心它鎖屏的事,根本沒法好好做事。閑話少敘,正文如下 :
大體的思路是通過程序控制鼠標,定時讓鼠標微微動一下,浮動不要太大(移動一個像素就可以了),這樣就達到持續讓屏幕常亮的效果。
以 Windows 系統和 C# 語言為例,C# 通過DllImport 調用 win32 關于鼠標控制的函數,DllImport 是 System.Runtime.InteropServices 命名空間下的屬性類,要先引入該命名空間。
1.聲明引用
先引入相關類庫,聲明函數,如下圖所示:
鼠標處理函數在 user32.dll 類庫,所以引入這個類庫,在系統中的位置如下所示:
2.調用函數
現在可以使用 mouse_event 編寫程序了,以下代碼是讓鼠標沿 x、y 坐標移動一個像素,如下所示:
mouse_event 參數含義:
dwFlags: long 常量,鼠標操作類型,可組合(取 |)
dx: x 軸移動像素
dy: y 軸移動像素
cButtons: 0
dwExtroInfo: 0
dwFlags 常用取值:
MOUSEEVENTF_MOVE = 0x0001; //模擬鼠標移動 MOUSEEVENTF_LEFTDOWN = 0x0002; //模擬鼠標左鍵按下 MOUSEEVENTF_LEFTUP = 0x0004; //模擬鼠標左鍵抬起 MOUSEEVENTF_ABSOLUTE = 0x8000; //鼠標絕對位置 MOUSEEVENTF_RIGHTDOWN = 0x0008; //模擬鼠標右鍵按下 MOUSEEVENTF_RIGHTUP = 0x0010; //模擬鼠標右鍵抬起 MOUSEEVENTF_MIDDLEDOWN = 0x0020; //模擬鼠標中鍵按下 MOUSEEVENTF_MIDDLEUP = 0x0040; //模擬鼠標中鍵抬起
3.定義定時器
這一步很簡單,直接上圖:
這就完成了,運行程序,輸入定時器的時間間隔,將它拖到任務欄不礙眼的位置就可以了。小程序壓縮包下載:MouseMoveTimer
At 2017.02.09