亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

c#制作屏幕保護程序步驟(字幕屏保)

2020-01-24 02:55:23
字體:
來源:轉載
供稿:網友

屏幕保護程序的擴展名雖然是"scr",但其實是一個可執行的"exe"文件。但他又是一個比較獨特的"exe"文件。下面就來探討一下,用C#是如何編寫屏幕保護的整個過程。

二.C#編寫字幕顯示屏保程序的關鍵步驟以及解決方法:
(1)設定程序的窗體符合屏幕保護的要求:
由于屏幕保護程序就是一個可執行程序,所以在編寫屏幕保護程序的時候,首先按照可執行程序來設計。但屏幕保護有自身的特點。譬如:屏幕保護都是充滿
整個屏幕的,并且沒有無邊。屏幕保護運行的時候,不能顯示任務欄。在程序設計中實現這些特點,關鍵就在于對窗體的某些屬性的設定上。下面是對窗體屬性的
設定,就可以滿足屏幕保護的要求,具體如下:

復制代碼 代碼如下:

this.Name = "ScreenSaver" ;
//窗體運行后無邊界
this.FormBorderStyle = FormBorderStyle.None ;
//程序運行后不顯示在任務欄上
this.ShowInTaskbar = false ;
//窗體運行后,最大化,充滿整個屏幕

(2)使得字符在屏幕上不斷移動:
實現字符在屏幕上像字符屏保一樣不斷移動,是通過一個定時器來完成的。不斷移動的字符,其實就是一個Label組件。當設定好Label組件要顯示的字符后,
也就設定了在屏幕上要移動的字符。定時器每隔一段時間,都把Label組件的橫坐標減去一個定值,這樣在定時器的驅動下,Label組件的位置就變換了,帶來的視
覺效果,就是字符不斷移動。
當Label組件的位置已經移動到屏幕的外面以后,這是就有把Label組件的橫坐標回復到起始值(即:屏幕的最右邊),然后判斷Label組件的縱坐標是否位于屏
幕的頂部,如果在頂部,則把縱坐標的位置重置在中部;如果在中部,則重置在底部;如果在底部,則重置在頂部。經過了這些判斷,字符不僅可以實現從右往左
移動,還可以變換字符進入屏幕的位置。從而也豐富了屏幕保護的內容。其實要實現這些判斷,首先還必須知道屏幕的工作區域,因為只有先知道屏幕的工作區域
,在能夠實現對Label組件的橫坐標和縱坐標的設定工作。下面就是實現此步驟地具體代碼:

復制代碼 代碼如下:

//得到計算機屏幕的工作區域
Rectangle ssWorkArea = Screen.GetWorkingArea ( this ) ;
lblMarquee.Location = new Point ( ssWorkArea.Width - iDistance ,
lblMarquee.Location.Y ) ;
//顯示標簽
lblMarquee.Visible = true ;
// 增加2個象素點,你可以通過修改speed的值來改變標簽的移動速度
iDistance += speed ;
// 如果標簽已經走出屏幕,則把標簽的位置重定位到屏幕的右邊
if ( lblMarquee.Location.X <= -( lblMarquee.Width ) )
{
//Reset the distance to 0.
iDistance = 0 ;
//判斷標簽的位置是否在頂部,如果在,則重定位到中部
if ( lblMarquee.Location.Y == 0)
lblMarquee.Location = new Point ( lblMarquee.Location.X , ( ssWorkArea.Height / 2 ) ) ;
//判斷標簽的位置是否在中部,如果在,則重定位到底部
else if ( lblMarquee.Location.Y == ssWorkArea.Height / 2 )
lblMarquee.Location = new Point ( lblMarquee.Location.X , ssWorkArea.Height - lblMarquee.Height ) ;
//重定位到頂部
else
lblMarquee.Location = new Point ( lblMarquee.Location.X , 0 ) ;
}

(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"目錄中去。至此這個字符屏保
就完成了從編寫到配置的全部工作了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲人成网站999久久久综合| 91老司机精品视频| 日韩美女av在线免费观看| 中文字幕综合在线| 国产精品1区2区在线观看| 欧美精品在线第一页| 久久影院资源网| 国产精品一区二区性色av| 亚洲一区免费网站| 亚洲黄色www| 欧美一区二区影院| 最好看的2019的中文字幕视频| 国产精品久久久久久久久久尿| 午夜精品在线观看| 97视频免费在线观看| 亚洲午夜精品视频| 上原亚衣av一区二区三区| 岛国av午夜精品| 欧美激情亚洲综合一区| 欧美日韩高清在线观看| 国产欧美一区二区三区在线看| 欧洲精品久久久| 久久福利网址导航| 久久久久女教师免费一区| 国产美女扒开尿口久久久| 久久福利视频导航| 亚洲白拍色综合图区| 亚洲欧美一区二区精品久久久| 日韩欧美国产激情| 亚洲va欧美va在线观看| 亚洲成人精品久久久| 欧美精品www在线观看| 久久99热精品这里久久精品| 97高清免费视频| 久久久久久免费精品| 欧美激情在线狂野欧美精品| 欧美黑人视频一区| 日韩成人激情影院| 黄网动漫久久久| 97人洗澡人人免费公开视频碰碰碰| 亚洲无av在线中文字幕| 亲子乱一区二区三区电影| 亚洲a级在线播放观看| 欧美性生交大片免网| 精品中文字幕视频| 韩国国内大量揄拍精品视频| 最新69国产成人精品视频免费| 国产精品揄拍500视频| 久久精品视频导航| 激情懂色av一区av二区av| 欧美激情在线狂野欧美精品| 日韩av在线网站| 精品露脸国产偷人在视频| 亚洲视频网站在线观看| 国产精品爽爽ⅴa在线观看| 亚洲理论片在线观看| 久久久91精品国产| 日本伊人精品一区二区三区介绍| 欧美视频一区二区三区…| 国产69精品久久久| 亚洲自拍偷拍色片视频| 国产日韩欧美日韩大片| 色琪琪综合男人的天堂aⅴ视频| 欧洲午夜精品久久久| 欧美性生活大片免费观看网址| 国产日韩欧美另类| 欧美日韩成人黄色| 日韩电影免费在线观看中文字幕| www.欧美免费| 国产91色在线|免| 久久免费视频网站| 日韩美女视频在线观看| 国产精品久久久久久久久免费| 亚洲成年人在线播放| 在线观看欧美成人| 欧美性猛交xxxx免费看久久久| 国语对白做受69| www.日韩av.com| 日韩亚洲欧美成人| 亚洲精品在线视频| 欧美大片免费看| 国产97在线观看| 国产99久久精品一区二区永久免费| 欧美日韩国产限制| 亚洲色图综合网| 成人免费黄色网| 日韩在线观看电影| 亚洲精品乱码久久久久久按摩观| 欧美午夜激情视频| 日韩国产精品视频| 日韩av高清不卡| 欧美国产极速在线| 国产成人精品一区二区| 国产视频精品自拍| 另类少妇人与禽zozz0性伦| 欧美另类老女人| 日本电影亚洲天堂| 国产亚洲激情在线| 久久亚洲精品视频| 庆余年2免费日韩剧观看大牛| 国产suv精品一区二区| 成人免费视频网| 国产精品久久二区| 欧美激情2020午夜免费观看| 亚洲无av在线中文字幕| 亚洲高清av在线| 日韩av在线影视| 日韩高清电影免费观看完整版| 国产精品美女999| 国产在线精品成人一区二区三区| 欧美与欧洲交xxxx免费观看| 亚洲男人天堂2023| 久久视频在线视频| 欧美丝袜美女中出在线| 亚洲欧美在线x视频| 亚洲美腿欧美激情另类| 久久亚洲春色中文字幕| 欧美日韩在线免费观看| 欧美xxxx14xxxxx性爽| 亚洲精品大尺度| 欧美大胆在线视频| 国产精品午夜视频| 国产丝袜一区二区三区| 久久国产精品久久久久久| 国产日韩欧美综合| 成人亚洲欧美一区二区三区| 亚洲激情视频在线播放| 亚洲精品国产综合区久久久久久久| 夜夜嗨av一区二区三区免费区| 55夜色66夜色国产精品视频| 亚洲欧美日韩在线高清直播| 日韩欧美国产视频| 亚洲社区在线观看| 亚洲女人天堂色在线7777| 亚洲精品日韩激情在线电影| 欧美日韩国产二区| 久久久久久久激情视频| 性色av一区二区咪爱| 亚洲国产精品va在线看黑人| 欧美福利视频在线观看| 亚洲欧美制服另类日韩| 国产精品久久久久久久久免费| 亚洲人成电影网站| 热久久美女精品天天吊色| 在线观看国产精品淫| 亚洲欧美另类人妖| 成人免费自拍视频| 国产午夜精品理论片a级探花| 不用播放器成人网| 欧美电影在线播放| 国产精品久久久久久久久免费看| 秋霞av国产精品一区| 亚洲欧美一区二区三区久久| 亚洲男人7777| 精品一区二区三区电影| 成人一区二区电影| 亚洲国产一区二区三区在线观看| 国产精品网红福利| 色综合亚洲精品激情狠狠| 2020国产精品视频| 亚洲免费影视第一页| 国产精品中文久久久久久久| 日韩福利伦理影院免费| 日本久久久a级免费|