c 製作螢幕保護程式步驟 字幕屏保

2022-09-26 09:03:09 字數 2630 閱讀 4572

螢幕保護程式的副檔名雖然是"scr",但其實是乙個可執行的"exe"檔案。但他又是乙個比較獨特的"exe"檔案。下面就來**一下,用c#是如何編寫螢幕保護的整個過程。

二.c#編寫字幕顯示屏保程式的關鍵步驟以及解決方法:

(1)設定程式的窗體符合螢幕保護的要求:

由於螢幕保護程式就是乙個可執行程式,所以在編寫螢幕保護程式的時候,首先按照可執行程式來設計。但螢幕保護有自身的特點。譬如:螢幕保護都是充滿

整個螢幕的,並且沒有無邊。螢幕保護執行的時候,不能顯示工作列。在程式設計中實現這些特點,關鍵就在於對窗體的某些屬性的設定上。下面是對窗體屬性的

設定,就可以滿足螢幕保護的要求,具體如下:

複製** **如下:

this.name = "screens**er" ;

//窗體執行後無邊界

this.formborderstyle = formborderstyle.none ;

//程式執行後不顯示在工作列上

this.showintaskbar = false ;

//窗體執行後,最大化,充滿整個螢幕

(2)使得字元在螢幕上不斷移動:

實現字元在螢幕上像字元屏保一樣不斷移動,是通過乙個定時器來完成的。不斷移動的字元,其實就是乙個label元件。當設定好label元件要顯示的字元後,

也就xsxpaqcrbx設定了在螢幕上要移動的字元。定時器每隔一段時間,都把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 ) )

(3)檢測鍵盤、滑鼠狀態,確定退出螢幕保護程式:

在螢幕保護執行的時候,當鍵盤被按動,或者滑鼠移動,螢幕保護都會關閉。在實際的程式設計中,檢測鍵盤是否被按動,通過"keydown"事件就可以判斷。在

程式中,判斷滑鼠是否移動的思路是通過二個全域性變數記錄下,程式剛剛執行的時候的滑鼠的位置(即:x和y),當滑鼠移動的時候,判斷移動後的位置和記錄的

位置是否有出入,如果有出入,就關閉屏保。下面**功能就是檢測滑鼠移動,並結束螢幕保護,具體如下:

複製** **如下:

// 把滑鼠剛剛開始移動的位置給記錄下來

if ( ixstart == 0 && iystart == 0 )

//判斷自螢幕保護程式執行後,滑鼠的位置是否變動

else if ( e.x != ixstart || e.y != iystart )

;其中"ixstar"和"iystart"就是記錄程式執行的時候,滑鼠的起始位置。

(4).對windows對螢幕保護設定引數的響應:

當螢幕保護加入到windows系統後,你就可以通過windows系統來設定螢幕保護的屬性了,由於我們製作的這個螢幕保護,沒有可供設定的選項,但也要對

windows的"設定"按鈕進行響應。而要完成這種響應,所用的知識就是在windows系統中按動"設定"按鈕,對螢幕保護進行設定時,其實也就對屏保程式傳遞"/c"字

符。而要設定口令,則會傳遞"/a"字元,據此,可以得到**:

複製** **如下:

if (args [ 0 ].substring ( 0 , 2 ).equals ( "/c" ) )

else if ( args [ 0 ] == "/a" )

三.總結:

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

csc /t:winexe screen.cs

在正確編譯"screen.cs"後,可以得到"screen.exe"檔案,把"screen.exe"改名為"screen.scr",並拷貝到windows的"system32"目錄中去。至此這個字元屏保

就完成了從編寫到配置的全部工作了。

本文標題: c#製作螢幕保護程式步驟(字幕屏保)

本文位址: /ruanjian/csharp/103810.html

4 2 2 螢幕保護程式

依次選擇 系統 首選項 螢幕保護程式 命令開啟 螢幕保護程式首選項 對話方塊,如圖 4.10 所示。要開啟螢幕保護功能,應該確保在 計算機空閒時啟用螢幕保護程式 核取方塊中打鉤。在左側的 主題 列表框中選擇相應的屏保主題,就可以在右側的預覽框中看到效果。ubuntu 附帶了很多螢幕保護主題,其中一些...

Window許可權維持(五) 螢幕保護程式

web安全 bypass007 2019 12 04 10,068 螢幕保護是windows功能的一部分,使使用者可以在一段時間不活動後放置螢幕訊息或圖形動畫。眾所周知,windows的此功能被威脅參與者濫用為永續性方法。這是因為螢幕保護程式是具有.scr副檔名的可執行檔案,並通過scrns e.s...

中斷Java ME手機上的螢幕保護程式

如果你的j2me應用程式不要求使用者連續按鍵,那麼在sonyericsson的手機上執行的程式,可能一段時間之後就會出現螢幕保護介面,這是手機自帶的功能。但是我們可以通過nokia ui api來設定背景燈來阻止螢幕保護介面。但是持續讓背景燈開啟會消耗更多的電量。請注意 對於uiq3的手機,例如w9...