時(shí)間:2022-07-09 12:54:32
序論:好文章的創(chuàng)作是一個(gè)不斷探索和完善的過程,我們?yōu)槟扑]十篇屏幕保護(hù)程序范例,希望它們能助您一臂之力,提升您的閱讀品質(zhì),帶來更深刻的閱讀感受。
中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2011)22-5369-02
The Design of Music Screen-Protected Program Based on C#
SUN Cui-hua1, CAO Yan-ting2
(puter College, Soochow University Suzhou, Suzhou 215006, China; 2.Information and Electrical Engineering College, Suzhou Polytechnic Institute of Agriculture, Suzhou 215008, China)
Abstract: Introduced the key technology and implementation methods of Windows Screen-Protected Program Base on C#, and achieved a personalized screen saver random songs play in the Visual Studio 2008 development environment.
Key words: screen-protected; C#; program
在圖形界面的操作系統(tǒng)下,顯示屏上顯示的色彩多種多樣,當(dāng)用戶停止對(duì)電腦進(jìn)行操作時(shí),屏幕顯示就會(huì)始終固定在同一個(gè)畫面上,即電子束長(zhǎng)期轟擊熒光層的相同區(qū)域,長(zhǎng)時(shí)間下去,會(huì)因?yàn)轱@示屏熒光層的疲勞效應(yīng)導(dǎo)致屏幕老化,甚至是顯像管被擊穿。因此從Windows 3_X時(shí)代至今,屏幕保護(hù)程序一直作為保護(hù)CRT顯示屏的最佳幫手,通過不斷變化的圖形顯示使熒光層上的固定點(diǎn)不會(huì)被長(zhǎng)時(shí)間轟擊,從而避免了屏幕的損壞。
本文向大家介紹了在Visual Studio 2008開發(fā)環(huán)境中,用C#語(yǔ)言編寫的一個(gè)具有個(gè)性化的隨機(jī)歌曲播放屏幕保護(hù)程序,程序運(yùn)行如圖1所示。
1 關(guān)鍵技術(shù)研究與實(shí)現(xiàn)
1.1 設(shè)定程序的窗體符合屏幕保護(hù)的要求
由于屏幕保護(hù)程序是一個(gè)可執(zhí)行程序,所以在編寫屏幕保護(hù)程序的時(shí)候,首先按照可執(zhí)行程序來設(shè)計(jì)。但屏幕保護(hù)有自身的特點(diǎn),譬如:屏幕保護(hù)都是充滿整個(gè)屏幕的,并且沒有邊框。屏幕保護(hù)運(yùn)行的時(shí)候,不顯示任務(wù)欄。
在程序設(shè)計(jì)中實(shí)現(xiàn)這些特點(diǎn),關(guān)鍵就在于對(duì)窗體的屬性設(shè)置。下面是對(duì)窗體屬性的設(shè)定,可以滿足屏幕保護(hù)的要求,具體如下:
1)將程序的對(duì)話框設(shè)置為沒有標(biāo)題欄,窗體運(yùn)行后,最大化,充滿整個(gè)屏幕。
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
2)設(shè)置窗體運(yùn)行后無邊界。
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
3)設(shè)置在Windows任務(wù)欄中不顯示窗體。
this.ShowInTaskbar = false;
1.2 字符在屏幕上不斷移動(dòng)的效果
實(shí)現(xiàn)字符在屏幕上像字符屏保一樣不斷移動(dòng),是通過隨機(jī)函數(shù)Random的Next方法來實(shí)現(xiàn)的,主要代碼如下:
string strinfo = "歌曲播放屏幕保護(hù)";//設(shè)置字符顯示信息
int x = new Random().Next(0, width - 250);//設(shè)置顯示地點(diǎn)的x坐標(biāo)
int y = new Random().Next(50, heigh - 20);//設(shè)置顯示地點(diǎn)的y坐標(biāo)
myGraphics.DrawString(strinfo, new Font("宋體", 20, FontStyle.Bold), new SolidBrush(Color.FromArgb(new Random().Next(50, 255), new Random().Next(70, 255), new Random().Next(36, 255))),x,y);//繪制內(nèi)容
1.3 隨機(jī)播放歌曲
1)首先需要設(shè)置音樂文件的路徑信息,由于屏保程序需要放在系統(tǒng)的system32文件夾下,所以音樂文件也要放在系統(tǒng)文件夾下,利用Environment.SystemDirectory指定路徑為“C:\WINDOWS\system32”。
strpath = Environment.SystemDirectory + "\\music";
2)在計(jì)時(shí)器的Tick事件中設(shè)置屏保信息, 主要代碼如下:
this.timer1.Interval = new Random().Next(800, 1600);//設(shè)置time1的時(shí)間間隔
string strname = new Random().Next(1, 20).ToString();//記錄隨機(jī)數(shù)
//當(dāng)播放器處于空或者已經(jīng)停止時(shí)
if (this.axWindowsMediaPlayer1.status == "" || this.axWindowsMediaPlayer1.status == "已停止")
{
string strUrl = strpath + "\\" + strname + ".mp3";//獲取多媒體文件所處的路徑
this.axWindowsMediaPlayer1.URL = strUrl;//設(shè)置播放文件的URL
}
1.4 檢測(cè)鍵盤、鼠標(biāo)狀態(tài),確定退出屏幕保護(hù)程序
在屏幕保護(hù)運(yùn)行的時(shí)候,當(dāng)按下鍵盤、按下鼠標(biāo)或移動(dòng)鼠標(biāo),屏幕保護(hù)都會(huì)關(guān)閉。
1)當(dāng)按下鍵盤時(shí),停止屏幕保護(hù)。
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
StopScreenSaver();
}
2)當(dāng)按下鼠標(biāo)時(shí),停止屏幕保護(hù)。
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
StopScreenSaver();
}
3)當(dāng)移動(dòng)鼠標(biāo)時(shí),停止屏幕保護(hù)。
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (ixStart == 0 && iyStart == 0)//如果移動(dòng)了鼠標(biāo)
{
ixStart = e.X;//獲取當(dāng)前鼠標(biāo)指針的位置
iyStart = e.Y;
return;
}
else if (e.X != ixStart || e.Y != iyStart)//如果鼠標(biāo)指針的位置改變
StopScreenSaver();//停止屏幕保護(hù)
}
4)停止屏幕保護(hù)。
private void StopScreenSaver()
{
System.Windows.Forms.Cursor.Show();
timer1.Enabled = false;//停止計(jì)時(shí)器
Application.Exit();//關(guān)閉工程
}
2 配置和運(yùn)行
最后生成可執(zhí)行文件,把screen_saver.exe改為screen_saver.scr,拷入Windows的System32目錄中,然后通過設(shè)置顯示屬性選中這個(gè)屏幕保護(hù)程序就可以運(yùn)行了。至此,這個(gè)屏幕保護(hù)程序就完成了從編寫到配置的全部工作了。
3 結(jié)束語(yǔ)
本文介紹了利用C#語(yǔ)言開發(fā)一個(gè)屏幕保護(hù)程序的全過程,對(duì)開發(fā)過程中的關(guān)鍵技術(shù)如隨機(jī)播放歌曲、外鍵響應(yīng)事件進(jìn)行了探討,并給出了相應(yīng)的解決方法。
參考文獻(xiàn):
[1] 梁冰,呂雙,王小科.C#程序開發(fā)范例寶典[M].2版.北京:人民郵電出版社,2009.
自帶屏保雖說簡(jiǎn)單也好玩
親自動(dòng)手
>> 豆豆課堂:揚(yáng)我個(gè)性――屏幕保護(hù)學(xué)用通(三) 揚(yáng)我個(gè)性――屏幕保護(hù)學(xué)用通(一) 揚(yáng)我個(gè)性――屏幕保護(hù)學(xué)用通(五) 音樂課堂“三揚(yáng)三忌” 豆豆學(xué)口語(yǔ) 合作探究揚(yáng)個(gè)性,課堂交流展風(fēng)采 豆豆 張我個(gè)性 揚(yáng)我文采 陶人之常情,揚(yáng)我之個(gè)性 豆豆寫作起步的“三部曲” 課堂深處的“小豆豆” 我的“三效”課堂 我身邊的“小豆豆” Bye―bye,我的“金豆豆” 我們的“金豆豆” 我的“吃貨”室友毛豆豆 我就是豆豆最好的禮物 我手寫我心,文章?lián)P個(gè)性 廣辟途徑 快樂作文 揚(yáng)我個(gè)性 個(gè)性化的“三生課堂” 常見問題解答 當(dāng)前所在位置:l),它支持由Flash 3,F(xiàn)lash 4,F(xiàn)lash5和Flash MX制作的SWF文件。操作是向?qū)降模词箯奈唇佑|過它的朋友也可以輕易上手。用這款軟件制作屏保的具體步驟如下:
第一步:導(dǎo)入FLASH動(dòng)畫文件。在FlashWiz的SWF Movie選項(xiàng)卡中,通過Movie Source導(dǎo)入SWF文件。那些設(shè)置建議都使用默認(rèn)值。如果你對(duì)Flas的顏色不太滿意,可在Custom中重新設(shè)置。
第二步:為屏保取一個(gè)文件名。切換到Screen Saver Name欄中為屏保輸入一個(gè)你自定義的文件名。如果點(diǎn)選了下方的Enable F12 Web Link復(fù)選框,再在F12 Text和F12 URL兩個(gè)文本框中輸入自定義的網(wǎng)址,那么以后運(yùn)行該屏保時(shí)只需按下F12,就能快速的登錄這個(gè)指定的網(wǎng)站了。
第三步:生成安裝文件。切換到BUILD選項(xiàng)卡中,點(diǎn)擊左側(cè)的Build Disk按鈕,F(xiàn)lashWiz會(huì)自動(dòng)生成安裝文件SETUP。
第四步:安裝屏幕保護(hù)程序。Flas成功轉(zhuǎn)換為屏幕保護(hù)程序的安裝文件后,可直接點(diǎn)擊安裝,也可點(diǎn)擊BUILD中的Test Saver按鈕安裝。
自造的屏保該裝在哪兒?
豆豆:請(qǐng)問自己設(shè)計(jì)好的屏幕保護(hù)程序應(yīng)當(dāng)放在電腦的哪個(gè)位置,如何才能讓它運(yùn)轉(zhuǎn)起來?
老師:屏幕保護(hù)程序制作后以后,直接復(fù)制到C:\Windows\system32,然后到桌面上,通過單擊右鍵,在右鍵菜單中選擇“屬性屏幕保護(hù)程序”進(jìn)行選擇就可以了。
■ 溫馨提示:有的屏幕保護(hù)制作工具設(shè)計(jì)得很體貼,在制作完成時(shí),它會(huì)提示你是否進(jìn)行安裝,如果選擇進(jìn)行安裝,它會(huì)自動(dòng)把制作好的屏保文件安裝到系統(tǒng)目錄下。這時(shí),就不需要你親自把文件拷貝到C:\Windows\system32目錄下了。
Windows的屏幕保護(hù)程序是一個(gè).scr文件。文件默認(rèn)路徑在C:\Windows\system32目錄中,名字就是在“顯示”屬性中的“屏幕保護(hù)程序”中的名稱。
在C:\Windows\system32目錄下的所有*.scr文件都會(huì)被Windows的“屏幕保護(hù)程序”顯示,而文件路徑本身保存在System.ini中的“SCRNSAVE.EXE=”這條中。在“SCRNSAVE.EXE=”這條中,其規(guī)定的路徑也包含了目錄名稱。即如果我想安裝一個(gè).scr文件時(shí),譬如安裝路徑為D:\SCR1.scr,而D:\SCR這個(gè)目錄中還有2.scr,則在這個(gè)目錄中的所有.scr文件(1.scr,2.scr)都會(huì)被顯示在“屏幕保護(hù)程序”設(shè)置中。如果屏幕保護(hù)程序設(shè)為“無”,則“SCRNSAVE.EXE=”這條不存在。但如果“SCRNSAVE.EXE=”這條所指的文件或目錄是錯(cuò)誤的,則在“屏幕保護(hù)程序設(shè)置”中仍然會(huì)顯示“無”。
■ 溫馨提示:上面說的是“屏幕保護(hù)程序”,而不是圖片,這往往容易被初學(xué)者所誤解。把保護(hù)圖片放進(jìn)system32里是沒用的。如果你想要把圖片作為你的屏保,方法有多種:使用Windows XP自帶的圖片演示屏保程序進(jìn)行設(shè)置;下載制作屏保程序的工具進(jìn)行制作;用ACDSee等它類軟件附帶的屏保制作功能進(jìn)行制作等。
打開“計(jì)算機(jī)”,找到“打開控制面板”,點(diǎn)擊打開控制面板;
打開控制面板之后,找到“外觀和個(gè)性化”;
打開“外觀和個(gè)性化”之后;
接下來,在右邊找到“更改屏幕保護(hù)程序”,選擇打開;
打開“更改屏幕保護(hù)程序”之后,找到“屏幕保護(hù)程序”;
3、選擇一個(gè)保護(hù)程序,在彈出的設(shè)置窗口中,點(diǎn)擊下拉菜單選擇一個(gè)保護(hù)程序,點(diǎn)擊預(yù)覽可以試看效果。
4、設(shè)置等待時(shí)長(zhǎng)。當(dāng)電腦在這么長(zhǎng)時(shí)間里沒有操作時(shí),開始啟動(dòng)屏幕保護(hù)程序。
3、點(diǎn)擊“屏幕保護(hù)程序”,可以看到?jīng)]設(shè)置之前,屏幕保護(hù)程序顯示無;
4、點(diǎn)擊“屏幕保護(hù)程序”下的倒三角,選擇氣泡后,點(diǎn)擊確定就可以了;
演示機(jī)型:組裝臺(tái)式機(jī),適合系統(tǒng):Windows10。
點(diǎn)擊電腦左下角【開始】圖標(biāo),再點(diǎn)擊【設(shè)置】圖標(biāo),選擇【個(gè)性化】,打開【鎖屏界面】。
方法一:點(diǎn)擊右側(cè)【背景】的下拉按鈕,將【windows聚焦】改為【圖片】,再點(diǎn)擊選擇圖片的【瀏覽】按鈕,根據(jù)圖片保存位置選中圖片,再點(diǎn)擊【選擇圖片】,待機(jī)屏保設(shè)置完成。
方法二:點(diǎn)擊下方【屏幕保護(hù)程序設(shè)置】,再點(diǎn)擊【屏幕保護(hù)程序設(shè)置】下拉按鈕,設(shè)置好屏幕保護(hù)程序,再設(shè)置好屏幕保護(hù)的等待時(shí)間就可以了。
(來源:文章屋網(wǎng) )
win7設(shè)置屏保是:
1、鼠標(biāo)右鍵單擊桌面空白處選擇個(gè)性化。
2、在個(gè)性化頁(yè)面點(diǎn)擊右下角屏幕保護(hù)程序。
3、彈出窗口在屏幕保護(hù)程序下方點(diǎn)擊下拉圖標(biāo)選擇一個(gè)自己喜歡的屏幕保護(hù)在等待欄選擇屏保時(shí)間,點(diǎn)擊確定即可。
(來源:文章屋網(wǎng) )
2、進(jìn)去個(gè)性化界面之后,點(diǎn)擊鎖屏界面。
3、在鎖屏界面,點(diǎn)擊屏幕保護(hù)程序設(shè)置。
4、進(jìn)去屏幕保護(hù)程序設(shè)置界面,可以看到當(dāng)前設(shè)置的屏幕保護(hù),這里是3D文字。
Ghostl恢復(fù)時(shí)。它會(huì)直接在分區(qū)中使用恢復(fù)文件的數(shù)據(jù)覆蓋掉B標(biāo)分區(qū)中的數(shù)據(jù),而磁盤中被覆蓋了的數(shù)據(jù),不論使用什么手段都無法將其找回來。那些沒有被覆蓋的數(shù)據(jù)就可是嘗試使用數(shù)據(jù)恢復(fù)工具找回。在EasyRecove軟件中。如果通過正常的文件恢復(fù)無法找回,最后還可以嘗試一個(gè)字節(jié)一個(gè)字節(jié)讀取的模式:在主窗口中選擇“數(shù)據(jù)恢復(fù)/Raw恢復(fù)”,這樣恢復(fù)的數(shù)據(jù)沒有整潔的文件結(jié)構(gòu),只有在其他恢復(fù)模式下無法恢復(fù)時(shí),最后使用此招。
打開TweakUL顯示被管理員禁用
Q:我準(zhǔn)備使用TweakUI對(duì)系統(tǒng)進(jìn)行相關(guān)優(yōu)化操作,但是試圖打開時(shí)總是顯示“TweokUI已被系統(tǒng)管理員禁用”的消息而不能使用。請(qǐng)問這是什么原因?
A:TweakUI相當(dāng)于一個(gè)圖形化的注冊(cè)表、組策略等系統(tǒng)工具的集中操作接口程序,它的每個(gè)操作項(xiàng)都是對(duì)應(yīng)于系統(tǒng)注冊(cè)袁的相應(yīng)鍵值。你遇到的這個(gè)問題有可能是由于注冊(cè)表中的以下鍵值項(xiàng)被修改了,只要重新將其設(shè)置為“00000000”即可。注冊(cè)表中的位置:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Pofides\System,對(duì)應(yīng)的鍵值項(xiàng)為:”DisableRegistryTools”=dword:00000000”DisableTaskMgr”=00000000請(qǐng)對(duì)照修改。
KMPlayer無法顯示字幕
Q:電影文件央中有三個(gè)文件:a.avi、a.idx、a.SUb(簡(jiǎn)體字幕),使用KMPlayer(V2.9.3.1433)播放的時(shí)候,總是無法顯示字幕。請(qǐng)問這是什么原因?
A:這可能是字幕的字體參數(shù)設(shè)置不準(zhǔn)確而導(dǎo)致的,在播放電影時(shí)按F2鍵打開參數(shù)設(shè)置界面,選擇“字幕處理/字體樣式”,在右側(cè)設(shè)置窗口中的“字符集”下拉列表中選擇“簡(jiǎn)體中文”即可(如圖)。此外,如果經(jīng)常看電影,可以考慮安裝專業(yè)的字幕工具vobSub,在字幕處理方面能力更強(qiáng)大。
Winamp自動(dòng)播放上一道音樂余音
Q:最近在使用winomp播放器時(shí),每次打開winamp后都會(huì)自動(dòng)播放上一首歌曲結(jié)尾部分四五秒,然后才播放當(dāng)前歌曲。請(qǐng)問這是什么原因?
A:這一般都是由于安裝了外部插件程序而導(dǎo)致的,檢查一下你的Winamp中是否安裝了AKAumPlay插件,如果安裝了按下面方法暫時(shí)禁用:打開“Winamp參數(shù)設(shè)置”對(duì)話框,在“插件”下選“一般用途”下的“AKAutoPlay插件”,雙擊它,打開設(shè)置對(duì)話框,在打開的對(duì)話框中取消選擇“啟動(dòng)自動(dòng)播放插件AKAutoPlay ”項(xiàng)。
ACDSee制作的屏保無法保存
Q:我使用ACDSee制作了屏幕保護(hù)程序,設(shè)置成系統(tǒng)屏保后,當(dāng)時(shí)預(yù)覽可以正常顯示,但退出預(yù)覽后就無法再找到制作的屏幕保護(hù)程序了。請(qǐng)問這是什么原因?
A:你創(chuàng)建的屏幕保護(hù)程序可能不是擴(kuò)展名為src格式的,比如創(chuàng)建了exe格式的屏幕保護(hù)程序后就會(huì)出現(xiàn)上述問題。請(qǐng)?jiān)趧?chuàng)建時(shí)按照下面的步驟進(jìn)行操作:?jiǎn)螕簟皠?chuàng)建一創(chuàng)建幻燈放映文件”,選擇“windows屏幕保護(hù)程序(SrC文件)”,單擊“下一步”按鈕后添加圖片及設(shè)置轉(zhuǎn)場(chǎng)效果,之后便會(huì)生成src格式的屏保文件,以后在系統(tǒng)的屏幕保護(hù)程序設(shè)置中就會(huì)一直看到這個(gè)創(chuàng)建的文件了。
2、選擇屏幕保護(hù)程序畫面和等待時(shí)間,然后點(diǎn)擊更改電源設(shè)置,點(diǎn)擊選擇關(guān)閉顯示器時(shí)間;