程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 用C#制作字幕顯示屏幕保護(2)

用C#制作字幕顯示屏幕保護(2)

編輯:關於C語言

(3).檢測鍵盤、鼠標狀態,確定退出屏幕保護程序:

在屏幕保護運行的時候,當鍵盤被按動,或者鼠標移動,屏幕保護都會關閉。在實際的程序設計中,檢測鍵盤是否被按動,通過"KeyDown"事件就可以判斷。在程序中,判斷鼠標是否移動的思路是通過二個全局變量記錄下,程序剛剛運行的時候的鼠標的位置(即:X和Y),當鼠標移動的時候,判斷移動後的位置和記錄的位置是否有出入,如果有出入,就關閉屏保。下面代碼功能就是檢測鼠標移動,並結束屏幕保護,具體如下:

// 把鼠標剛剛開始移動的位置給記錄下來
if ( ixStart == 0 && iyStart == 0 )
{
ixStart = e.X ;
iyStart = e.Y ;
return ;
}
//判斷自屏幕保護程序運行後,鼠標的位置是否變動
else if ( e.X != ixStart || e.Y != iyStart )
{
Cursor .Show ( ) ;
timerSaver.Enabled = false ;
Application .Exit ( ) ;
};

其中"ixStar"和"iyStart"就是記錄程序運行的時候,鼠標的起始位置。

(4).對Windows對屏幕保護設定參數的響應:

當屏幕保護加入到Windows系統後,你就可以通過Windows系統來設定屏幕保護的屬性了,由於我們制作的這個屏幕保護,沒有可供設置的選項,但也要對Windows的"設置"按鈕進行響應。而要完成這種響應,所用的知識就是在Windows系統中按動"設置"按鈕,對屏幕保護進行設定時,其實也就對屏保程序傳遞"/c"字符。而要設定口令,則會傳遞"/a"字符,據此,可以得到代碼:

if (args [ 0 ].Substring ( 0 , 2 ).Equals ( "/c" ) )
{
MessageBox.Show("此屏幕保護沒有可供設置的選項!","用C#制造屏幕保護" ,
MessageBoxButtons.OK ,MessageBoxIcon.Information ) ;
Application.Exit ( ) ;
}
else if ( args [ 0 ] == "/a" )
{
MessageBox.Show("此屏幕保護沒有可供設定口令的選項!","用C#制造屏幕保護" ,
MessageBoxButtons.OK ,MessageBoxIcon.Information ) ;
Application.Exit ( ) ;
}

三.總結:

由於屏幕保護都是Windows程序,所以編譯的時候,要產生Windows程序,編譯的命令如下:

csc /t:winexe screen.cs

在正確編譯"Screen.cs"後,可以得到"Screen.exe"文件,把"Screen.exe"改名為"Screen.scr",並拷貝到Windows的"System32"目錄中去。至此這個字符屏保就完成了從編寫到配置的全部工作了。

-
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved