屏幕保護(hù)程序工作原理
引言
大多數(shù)人的計(jì)算機(jī)都設(shè)有屏幕保護(hù)程序,它們會(huì)在計(jì)算機(jī)閑置一定時(shí)間之后出現(xiàn)。屏幕保護(hù)程序可能僅僅是個(gè)黑屏,也可能是會(huì)像SETI@Home這樣的專用程序,還可能是像狂舞面條人一樣搞笑有趣的小玩意。
SETI@Home是一個(gè)很流行的屏幕保護(hù)程序, |
但到底什么是屏幕保護(hù)程序呢?它的用途是什么呢?它是怎么控制啟動(dòng)時(shí)間的呢?在本文中,我們將透過屏幕,看看它后面發(fā)生了一些什么事。
什么是屏幕保護(hù)程序?
準(zhǔn)確地說,屏幕保護(hù)程序就是一種可執(zhí)行文件,只不過它的擴(kuò)展名不是.exe,而是.scr。通過文件擴(kuò)展名,計(jì)算機(jī)可以確定它要處理的是哪一種類型的文件。例如,winword.exe是可以由計(jì)算機(jī)加載的文字處理應(yīng)用程序,而article.doc是可以加載到Microsoft Word文字處理應(yīng)用程序中的文本文件。
可執(zhí)行文件是指計(jì)算機(jī)的操作系統(tǒng)將其視為程序或應(yīng)用程序的文件。對(duì)于以.exe(或.scr)結(jié)尾的文件,應(yīng)該不需要其他文件便可執(zhí)行;如果需要其他文件,那么它們會(huì)告訴計(jì)算機(jī)具體需要哪個(gè)文件。
|
現(xiàn)在我們知道,就本質(zhì)而言,屏幕保護(hù)程序是一種程序。在將屏幕保護(hù)程序文件放入Windows或System目錄中,并為其賦予.scr擴(kuò)展名后,Windows便明白,自己應(yīng)將此文件作為屏幕保護(hù)程序來處理,使其成為“顯示屬性”窗口中的可選選項(xiàng)。通過編程,屏幕保護(hù)程序文件能夠以多種不同的方式來呈現(xiàn),其中包括:
- 只顯示黑屏
- 使用矢量圖來繪制各種圖案
- 加載和顯示特定圖像或一組圖像
- 顯示一行特定文本
- 顯示一個(gè)動(dòng)畫或一系列動(dòng)畫
- 播放視頻序列
- 擁有音樂或聲音效果
- 顯示其他程序或網(wǎng)站中的信息
- 提供與其他程序或網(wǎng)站進(jìn)行交互的功能。例如,博聞網(wǎng)屏幕保護(hù)程序使鼠標(biāo)保持在活動(dòng)狀態(tài),這樣您便可以單擊多個(gè)不同的圖標(biāo)來訪問博聞網(wǎng)網(wǎng)站的相應(yīng)內(nèi)容。
- 要求輸入密碼才能關(guān)閉屏幕保護(hù)程序,返回桌面
大多數(shù)屏幕保護(hù)程序都同時(shí)提供了這些功能中的某幾種。除了顯示一系列圖像的幻燈片屏幕保護(hù)程序外,屏幕保護(hù)程序通常是在屏幕上變幻顯示一幅圖像、一段文字或一個(gè)動(dòng)畫。也有少部分屏幕保護(hù)程序具有自定義界面,完全不需要使用“顯示屬性”窗口。通常,這些屏幕保護(hù)程序的擴(kuò)展名都不是.scr。它們要求用戶使用安裝程序來安裝它們,以便對(duì)它們進(jìn)行正確地配置。
屏幕保護(hù)程序的用途
設(shè)計(jì)屏幕保護(hù)程序的初衷是為了防止計(jì)算機(jī)監(jiān)視器出現(xiàn)熒光粉燒蝕現(xiàn)象。早期的CRT監(jiān)視器(特別是單色CRT監(jiān)視器)在長(zhǎng)時(shí)間顯示同一圖像時(shí)往往會(huì)出現(xiàn)這種問題。這些熒光粉用于生成顯示的像素。如果長(zhǎng)時(shí)間以同一亮度發(fā)光,它們便會(huì)使CRT的玻璃表面變色。隨后,這種變色會(huì)導(dǎo)致模糊圖像的出現(xiàn),并會(huì)覆蓋住監(jiān)視器上該位置所顯示的任何內(nèi)容。雖然顯示技術(shù)的進(jìn)步和節(jié)能監(jiān)視器的出現(xiàn)從根本上已經(jīng)消除了對(duì)屏幕保護(hù)程序的需要,但我們?nèi)栽谑褂盟鼈儭?
其中的主要原因如下:
- 娛樂性——我們使用屏幕保護(hù)程序的最常見理由是為了得到樂趣。觀看面條人在屏幕上跟隨舞曲“Hey Macarena”的節(jié)奏跳舞,會(huì)讓我們開心好一會(huì)兒。
- 安全性——設(shè)置好帶有密碼保護(hù)的屏幕保護(hù)程序后,您可以放心地離開計(jì)算機(jī),而不用擔(dān)心別人在您電腦上看到任何機(jī)密信息。
- 統(tǒng)一的外觀——許多公司都要求所有員工使用特定的屏幕保護(hù)程序。這可以創(chuàng)造協(xié)調(diào)統(tǒng)一甚至可能具有美感的環(huán)境,還能確保不會(huì)出現(xiàn)不適宜的屏幕保護(hù)程序。
- 廣告——一些公司(特別是零售業(yè)的公司)會(huì)在面向顧客的區(qū)域放些計(jì)算機(jī),這些計(jì)算機(jī)中通常都帶有宣傳公司業(yè)務(wù)或產(chǎn)品的屏幕保護(hù)程序。
- 信息——很多屏幕保護(hù)程序都可以提供靜態(tài)或?qū)崟r(shí)的信息。有的屏幕保護(hù)程序可以循環(huán)顯示一系列小問題。還有的程序則可以從某網(wǎng)站獲得股票信息,然后在屏幕上連續(xù)顯示。
- 分布式計(jì)算——還有一種屏幕保護(hù)程序可以利用計(jì)算機(jī)的閑置時(shí)間,來處理來自其他地方的數(shù)據(jù)。SETI@Home便是這種屏幕保護(hù)程序的典型例子,它目前已為成千上萬的計(jì)算機(jī)用戶所使用。這個(gè)屏幕保護(hù)程序顯示射頻頻譜的圖形,處理從SETI(搜索地外智慧生物)服務(wù)器接收到的無線電信號(hào)信息。數(shù)據(jù)處理完成后,它再將結(jié)果發(fā)送回去。通過利用所有這些計(jì)算機(jī)的聯(lián)合處理能力,SETI明顯減少了對(duì)從射電望遠(yuǎn)鏡接收到的所有信號(hào)進(jìn)行分析篩選的用時(shí)。
屏幕保護(hù)程序運(yùn)行過程
接下來,我們將了解屏幕保護(hù)程序在Windows 95/98計(jì)算機(jī)上運(yùn)行的詳細(xì)過程。對(duì)于其他計(jì)算機(jī)來說,雖然系統(tǒng)命令和確切細(xì)節(jié)可能有所不同,但過程基本上都是相同的。
計(jì)算機(jī)會(huì)持續(xù)監(jiān)視系統(tǒng)各個(gè)組件之間正在進(jìn)行的活動(dòng)。如果系統(tǒng)發(fā)現(xiàn),鍵盤和鼠標(biāo)空閑的時(shí)間已經(jīng)達(dá)到了“顯示屬性”窗口的屏幕保護(hù)程序設(shè)置中指定的時(shí)間長(zhǎng)度,那么它會(huì)向前臺(tái)(當(dāng)前)應(yīng)用程序發(fā)送一條特殊命令,詢問能否啟動(dòng)屏幕保護(hù)程序。如果作為前臺(tái)應(yīng)用程序運(yùn)行的應(yīng)用程序中打開了計(jì)算機(jī)輔助訓(xùn)練(CBT)窗口,或者帶有非Windows程序(例如從MS-DOS命令提示窗口中運(yùn)行的程序),則Windows不會(huì)啟動(dòng)屏幕保護(hù)程序。
以下是詳細(xì)過程說明:
- 為了確定能否啟動(dòng)屏幕保護(hù)程序,Windows向前臺(tái)應(yīng)用程序發(fā)送一條消息。此命令詢問該應(yīng)用程序:“我能啟動(dòng)屏幕保護(hù)程序嗎?”非Windows程序無法理解這條命令,因而不會(huì)應(yīng)答。而CBT應(yīng)用程序能理解這條命令,但它會(huì)用一條表示“請(qǐng)不要啟動(dòng),我正在提供培訓(xùn)?!钡拿顏眄憫?yīng)。所有其他應(yīng)用程序都應(yīng)對(duì)此命令做出肯定的響應(yīng)。
- 隨后,Windows會(huì)查看system.ini文件中的行SCRNSAVE.EXE=____,確定是否已指定屏幕保護(hù)程序。如果該條目為空,則忽略執(zhí)行屏幕保護(hù)程序的命令。但如果列有文件名,它便會(huì)嘗試加載該文件。只要列出的文件確實(shí)是屏幕保護(hù)程序,系統(tǒng)便會(huì)執(zhí)行該程序,并在當(dāng)前桌面的最上層創(chuàng)建屏幕保護(hù)程序圖像。
- 在Windows檢測(cè)到來自鍵盤或鼠標(biāo)的輸入之前,屏幕保護(hù)程序?qū)⒁恢边\(yùn)行。對(duì)于大多數(shù)屏幕保護(hù)程序來說,晃動(dòng)鼠標(biāo)或按下任意鍵便能立即終止屏幕保護(hù)程序。但也可以對(duì)屏幕保護(hù)程序進(jìn)行編程,要求僅當(dāng)按下特定鍵或按鈕,或者當(dāng)鼠標(biāo)移動(dòng)一定的距離時(shí),屏幕保護(hù)程序才會(huì)停止。此功能在交互式屏幕保護(hù)程序中特別有用。
- 當(dāng)Windows獲得應(yīng)終止屏幕保護(hù)程序的輸入時(shí),它會(huì)查看密碼保護(hù)功能是否已開啟。如果已開啟,則彈出一個(gè)框,要求輸入用戶名和密碼。反之,屏幕保護(hù)程序?qū)⒘⒓唇K止。
當(dāng)啟用了密碼保護(hù)功能時(shí),如果未能提供正確的用戶名和密碼,則Windows將繼續(xù)運(yùn)行屏幕保護(hù)程序。雖然這能提供某種程度的安全性,但請(qǐng)務(wù)必記住,Windows 95/98屏幕保護(hù)程序會(huì)創(chuàng)建自己的密碼對(duì)話框,再從系統(tǒng)處請(qǐng)求密碼和用戶信息。如果對(duì)屏幕保護(hù)程序來源的可靠性并不十分確定,則應(yīng)謹(jǐn)慎使用密碼保護(hù)功能。黑客可以(也確實(shí)有過這樣的真實(shí)案例)創(chuàng)建一些屏幕保護(hù)程序,利用這一系統(tǒng)安全弱點(diǎn)來捕獲密碼。運(yùn)行Windows NT的系統(tǒng)則不存在這個(gè)問題,NT系統(tǒng)僅允許屏幕保護(hù)程序調(diào)出系統(tǒng)密碼對(duì)話框,而不能自行創(chuàng)建。
在下一部分中,我們將了解如何設(shè)置自己的屏幕保護(hù)程序。
設(shè)置屏幕保護(hù)程序
在Windows 95/98中,您可以輕松地按照以下步驟設(shè)置屏幕保護(hù)程序:
- 依次單擊開始->設(shè)置,然后轉(zhuǎn)到控制面板。
- “控制面板”窗口打開后,雙擊顯示圖標(biāo)。隨即將彈出顯示屬性窗口。
- 選擇屏幕保護(hù)程序選項(xiàng)卡,然后從下拉菜單中選擇要使用的屏幕保護(hù)程序。
- 確定希望在系統(tǒng)空閑多少分鐘之后讓W(xué)indows啟動(dòng)屏幕保護(hù)程序,并在所提供的框中輸入該時(shí)間。
- 您可以單擊預(yù)覽,查看它全屏運(yùn)行時(shí)的樣子。如果要更改設(shè)置,請(qǐng)單擊設(shè)置。根據(jù)屏幕保護(hù)程序的不同,此窗口可能會(huì)提供一個(gè)或多個(gè)可以修改的選項(xiàng)。
- 完成對(duì)設(shè)置的更改后,單擊確定。此外,您還可以選中“在恢復(fù)時(shí)使用密碼保護(hù)”框,用屏幕保護(hù)程序?yàn)橛?jì)算機(jī)提供安全性。再次單擊確定,您的屏幕保護(hù)程序就設(shè)置完成,可以使用了!
獲得屏幕保護(hù)程序的途徑有多種:
- 使用Windows自帶的標(biāo)準(zhǔn)屏幕保護(hù)程序之一
- 購買屏幕保護(hù)程序集
- 從互聯(lián)網(wǎng)上成千上萬個(gè)免費(fèi)屏幕保護(hù)程序中下載一個(gè)
- 使用提供屏幕保護(hù)程序設(shè)計(jì)功能的程序自己制作
- 通過編寫實(shí)際代碼從頭創(chuàng)建一個(gè)屏幕保護(hù)程序
數(shù)年前,商業(yè)屏幕保護(hù)程序集還十分流行,但隨著互聯(lián)網(wǎng)的發(fā)展,大量免費(fèi)屏幕保護(hù)程序涌現(xiàn)了出來,自然也就沒什么人再愿意為商業(yè)屏幕保護(hù)程序集付費(fèi)。使用Screen Saver Builder這樣的程序,我們能將圖像、動(dòng)畫和聲音組合在一起,創(chuàng)建自己的自定義屏幕保護(hù)程序。如果您是一名程序員,那么有大量的聯(lián)機(jī)資源為您提供技術(shù)信息,甚至是源代碼,這樣您就能輕松編寫自己的屏幕保護(hù)程序。當(dāng)您創(chuàng)建出大家夢(mèng)寐以求的新的精美屏幕保護(hù)程序后,您還可以將其上傳到多個(gè)站點(diǎn)中,將您的作品與所有人分享!
[責(zé)任編輯:小敏]
評(píng)論
查看更多