VB編程實(shí)現(xiàn)開(kāi)機(jī)更換桌面背景_第1頁(yè)
VB編程實(shí)現(xiàn)開(kāi)機(jī)更換桌面背景_第2頁(yè)
VB編程實(shí)現(xiàn)開(kāi)機(jī)更換桌面背景_第3頁(yè)
VB編程實(shí)現(xiàn)開(kāi)機(jī)更換桌面背景_第4頁(yè)
VB編程實(shí)現(xiàn)開(kāi)機(jī)更換桌面背景_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

VB編程實(shí)現(xiàn)開(kāi)機(jī)更換桌面背景汪志祥(四川化工職業(yè)技術(shù)學(xué)院四川瀘州 646005)摘要:本文比較全面的介紹了在Windows環(huán)境下,通過(guò)VB6.0編程調(diào)用Win32API函數(shù)來(lái)設(shè)置桌面背景的過(guò)程及方式,同時(shí)為了程序功能的完整性、易操作性及界面的友好,運(yùn)用了其它的控件,并對(duì)其相應(yīng)的事件過(guò)程編寫(xiě)了程序代碼;此外還介紹了在VB中調(diào)用Win32API函數(shù)來(lái)添加和刪除系統(tǒng)托盤(pán)圖標(biāo)、讀寫(xiě)注冊(cè)表的方法。關(guān)鍵字:Win32API函數(shù);注冊(cè)表;托盤(pán)圖標(biāo);控件一、引言對(duì)于使用計(jì)算機(jī)的人來(lái)說(shuō),整天對(duì)著同樣的電腦屏幕太枯燥了,一點(diǎn)新意都沒(méi)有。能不能讓計(jì)算機(jī)在每天(或每次)開(kāi)機(jī)時(shí)就更換一次桌面背景呢?這個(gè)回答當(dāng)然是肯定的。在這里,我用VB6.0設(shè)計(jì)一個(gè)更換桌面背景的程序,它可以通過(guò)設(shè)置在每次開(kāi)機(jī)時(shí),從一個(gè)圖片文件夾中隨機(jī)讀取出一個(gè)圖片文件,用來(lái)設(shè)置計(jì)算機(jī)的桌面背景,背景設(shè)置完后,程序可以在設(shè)置的時(shí)間(大約1分鐘)后自動(dòng)結(jié)束,這樣又可以免除用戶(hù)自己手動(dòng)結(jié)束程序。二、理論實(shí)現(xiàn)要完成計(jì)算機(jī)桌面背景的設(shè)置,首先要明白計(jì)算機(jī)設(shè)置桌面背景的過(guò)程。計(jì)算機(jī)要將一張圖片文件設(shè)置成桌面背景,首先要求圖片文件是BMP格式的,如果不是BMP格式的,則要先將圖片轉(zhuǎn)換成BMP格式的,然后將圖片文件復(fù)制到計(jì)算機(jī)的安裝目錄(Win9X為Windows文件夾,WinNT/2000/XP為Winnt文件夾)中——我們可以調(diào)用Win32API函數(shù)中的GetWindowsDirectory函數(shù)來(lái)獲得Windows的安裝目錄,最后調(diào)用Win32API函數(shù)SystemParametersInfo,把圖片文件設(shè)置成Windows的桌面背景。如果還要按照Windows的背景顯示方式(居中、平鋪、拉伸)來(lái)設(shè)置桌面背景,則在進(jìn)行背景設(shè)置前,還要修改Windows注冊(cè)表中“HKEY_CURRENT_USER\ControlPanel\Desktop”項(xiàng)下的子鍵“TileWallpaper”、“WallpaperStyle”的值。這兩'項(xiàng)的值的設(shè)置如下表:顯示方式TileWallpaper"WallpaperStyle居中00平鋪10拉伸02要在注冊(cè)表中寫(xiě)入這兩個(gè)子鍵的值,我們需要調(diào)用Win32API函數(shù)中用于操作注冊(cè)表的三個(gè)API函數(shù):RegOpenKeyEx、RegSetValueEx、RegDeleteValue、RegCloseKey,分別用于完成對(duì)注冊(cè)表打開(kāi),寫(xiě)入鍵值、刪除子鍵和關(guān)閉。此外我們要求程序在計(jì)算機(jī)啟動(dòng)時(shí),就要完成桌面背景的設(shè)置,這就要求程序要能隨計(jì)算機(jī)啟動(dòng)而啟動(dòng),通常的做法是在“開(kāi)始”按鈕的“程序”組的“啟動(dòng)”項(xiàng)中加入要啟動(dòng)程序的“快捷方式”。在這個(gè)程序里,我采用修改Windows注冊(cè)表來(lái)完成程序的自動(dòng)啟動(dòng)功能,即把程序的完整路徑寫(xiě)入Windows注冊(cè)表的“HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run”啟動(dòng)項(xiàng)中。另外,為了使程序在啟動(dòng)后還沒(méi)有自動(dòng)結(jié)束前,不影響我們的工作,我們最好能讓程序在啟動(dòng)時(shí)就隱藏它的窗體,同時(shí)我們可能要在程序運(yùn)行過(guò)程中改變程序的某些功能的設(shè)置,因此又要讓程序在沒(méi)有退出前,我們可以打開(kāi)它的主界面進(jìn)行相應(yīng)的設(shè)置,在這里,我采用程序啟動(dòng)后產(chǎn)生系統(tǒng)托盤(pán)圖標(biāo),用戶(hù)在系統(tǒng)托盤(pán)圖標(biāo)上通過(guò)鼠標(biāo)單擊,彈出菜單進(jìn)行相應(yīng)的選項(xiàng)設(shè)置。為了完成這個(gè)功能,我們要調(diào)用Win32API函數(shù)中的Shell_NotifyIcon函數(shù)來(lái)完成托盤(pán)圖標(biāo)的添加、刪除(程序退出前要能刪除托盤(pán)圖標(biāo))。最后,需要注意的就是我們用于設(shè)置桌面背景的圖片文件應(yīng)該是BMP格式的,這可以通過(guò)先把準(zhǔn)備好的圖片文件(JPG格式、BMP格式)裝入圖像控件中,再調(diào)用VB中的SavePicture方法將圖片文件保存為BMP格式的。三、函數(shù)功能介紹1、 GetWindowsDirectory函數(shù)?函數(shù)功能:獲得Windows安裝目錄?函數(shù)VisualBasic聲明:PrivateDeclareFunctionGetWindowsDirectoryLib"kernel32"Alias"GetWindowsDirectoryA"(ByVallpBufferAsString,ByValnSizeAsLong)AsLong?參數(shù):lpBuffer 指定一個(gè)字串緩沖區(qū),用于裝載Windows目錄名。nSize lpBuffer字串的最大長(zhǎng)度。?返回值:復(fù)制到lpBuffer的一個(gè)字串的長(zhǎng)度。如lpBuffer不夠大,不能容下整個(gè)字串,就會(huì)返回lpBuffer要求的長(zhǎng)度。零表示失敗。2、 SystemParametersInfo函數(shù)?函數(shù)功能:查詢(xún)或設(shè)置系統(tǒng)及參數(shù),在這里完成對(duì)背景的設(shè)置。?函數(shù)VisualBasic聲明:DeclareFunctionSystemParametersInfoByVal&Lib"user32"Alias"SystemParametersInfoA"(ByValuActionAsLong,ByValuParamAsLong,ByVallpvParamAsAny,ByValfuWinIniAsLong)?參數(shù):uAction指定要查詢(xún)或設(shè)置的系統(tǒng)級(jí)參數(shù),與桌面有關(guān)的的值為SPI_SETDESKWALLPAPER=20。uParam一般設(shè)置為0。lpvParam與查詢(xún)或設(shè)置的系統(tǒng)級(jí)參數(shù)(uAction)有關(guān)。當(dāng)uAction為SPI_SETDESKWALLPAPER時(shí),該參數(shù)存放的是用于設(shè)置桌面背景的圖片文件的文件名。fuWinIni當(dāng)設(shè)置系統(tǒng)參數(shù)時(shí),用來(lái)指定是否更新用戶(hù)配置文件。?返回值:如果函數(shù)調(diào)用成功,則返回非0值,否則返回0值。3、 RegOpenKeyEx函數(shù)?函數(shù)功能:打開(kāi)注冊(cè)表中一個(gè)現(xiàn)有的子項(xiàng)。?函數(shù)VisualBasic聲明:DeclareFunctionRegOpenKeyExLib"advapi32.dll"Alias"RegOpenKeyExA"(ByValhKeyAsLong,ByVallpSubKeyAsString,ByValulOptionsAsLong,ByValsamDesiredAsLong,phkResultAsLong)AsLong?參數(shù):hKey 當(dāng)前打開(kāi)的項(xiàng)的句柄,本文使用以一兩個(gè)標(biāo)準(zhǔn)許句柄:HKEY_LOCAL_MACHINEHKEY_CURRENT_USERlpSubKey 要打開(kāi)的注冊(cè)表子項(xiàng)的名稱(chēng)。ulOptions 未用,設(shè)置為0。samDesired 是一個(gè)掩碼,用來(lái)指定訪(fǎng)問(wèn)“密級(jí)”,即指定對(duì)子項(xiàng)的讀寫(xiě)操作。phkResult 用于裝載打開(kāi)項(xiàng)的名字的一個(gè)變量。?返回值:如果函數(shù)調(diào)用成功,則返回值為0否則返回一個(gè)出錯(cuò)代碼。4、 RegSetValueEx函數(shù)?函數(shù)功能:在一個(gè)注冊(cè)表項(xiàng)下設(shè)置一個(gè)指定值的數(shù)據(jù)和類(lèi)型。?函數(shù)VisualBasic聲明:DeclareFunctionRegSetValueExLib"advapi32.dll"Alias"RegSetValueExA"(ByValhKeyAsLong,ByVallpValueNameAsString,ByValReservedAsLong,ByValdwTypeAsLong,lpDataAsAny,ByValcbDataAsLong)AsLong?參數(shù):hKey 當(dāng)前打開(kāi)的項(xiàng)的句柄,本文使用以一兩個(gè)標(biāo)準(zhǔn)許句柄:HKEY_LOCAL_MACHINEHKEY_CURRENT_USERlpValueName要設(shè)置值的名稱(chēng)。Reserved 未用,設(shè)置為0。DwType 要設(shè)置的值的數(shù)據(jù)類(lèi)型。LpData 要設(shè)置的值的數(shù)據(jù)。CbData 要設(shè)置的值的數(shù)據(jù)的長(zhǎng)度。?返回值:如果函數(shù)調(diào)用成功,則返回值為0,否則返回一個(gè)出錯(cuò)代碼。5、 RegDeleteValue函數(shù)?函數(shù)功能:刪除指定注冊(cè)表項(xiàng)下的一個(gè)值。?函數(shù)VisualBasic聲明:DeclareFunctionRegDeleteValueLib"advapi32.dll"Alias"RegDeleteValueA"(ByValhKeyAsLong,ByVallpValueNameAsString)AsLong?參數(shù):hKey 當(dāng)前打開(kāi)的項(xiàng)的句柄,本文使用以一兩個(gè)標(biāo)準(zhǔn)許句柄:HKEY_LOCAL_MACHINEHKEY_CURRENT_USERlpValueName要?jiǎng)h除的項(xiàng)的名稱(chēng)。?返回值:如果函數(shù)調(diào)用成功,則返回值為0,否則返回一個(gè)出錯(cuò)代碼。6、 RegCloseKey函數(shù)?函數(shù)功能:關(guān)閉或釋放打開(kāi)的注冊(cè)表項(xiàng)的句柄。?函數(shù)VisualBasic聲明:DeclareFunctionRegCloseKeyLib"advapi32.dll"Alias"RegCloseKey"(ByValhKeyAsLong)AsLong?參數(shù):hKey 要關(guān)閉的注冊(cè)表項(xiàng)的句柄。?返回值:如果函數(shù)調(diào)用成功,則返回值為0,否則返回一個(gè)出錯(cuò)代碼。7、 Shell_NotifyIcon函數(shù)?函數(shù)功能:向系統(tǒng)傳送一個(gè)消息,用來(lái)添加、修改或刪除任務(wù)欄狀態(tài)區(qū)(系統(tǒng)托盤(pán))中的圖標(biāo)。?函數(shù)VisualBasic聲明:PrivateDeclareFunctionShell_NotifyIconLib"shell32"Alias"Shell_NotifyIconA"(ByValdwMessageAsLong,pnidAsNOTIFYICONDATA)AsBoolean?參數(shù):dwMessage 發(fā)送的消息值。可以是下列值之一:NIM_ADD:向系統(tǒng)托盤(pán)區(qū)添加一個(gè)圖標(biāo)。NIM_DELETE:從系統(tǒng)托盤(pán)區(qū)刪除一個(gè)圖標(biāo)。NIM_MODIFY:更改系統(tǒng)托盤(pán)圖標(biāo)。pnid 記錄(自定義數(shù)據(jù)類(lèi)型)NOTIFYICONDATA的地址,該記錄的內(nèi)容依賴(lài)于參數(shù)dwMessage。Shell_NotifyIcon的第二個(gè)參數(shù)是一個(gè)結(jié)構(gòu)類(lèi)型數(shù)據(jù),在VisualBasic中定義為:PrivateTypeNOTIFYICONDATAcbSizeAsLonghwndAsLonguIdAsLonguFlagsAsLonguCallBackMessageAsLonghIconAsLongszTipAsString*64EndTypeNOTIFYICONDATA類(lèi)型含有系統(tǒng)所需要的處理系統(tǒng)托盤(pán)區(qū)消息的信息。各成員含義如下:CbSize 記錄的大小,以字節(jié)為單位。HWnd 將要接收與系統(tǒng)托盤(pán)區(qū)中圖標(biāo)有關(guān)的通知消息的窗口的句柄。UID 應(yīng)用程序定義的系統(tǒng)托盤(pán)圖標(biāo)的標(biāo)識(shí)符。uFlag 是一個(gè)標(biāo)志數(shù)組,指明其他成員中哪一個(gè)成員含有合法數(shù)據(jù)??梢允窍铝兄档慕M合:NIF_ICON:成員hIcon是合法的。NIF_MESSAGE:成員uCallBackMessage是合法的。NIF_TIP:成員szTip是合法的。uCallback_ 應(yīng)用程序定義的消息標(biāo)識(shí)符。系統(tǒng)把它作為發(fā)送到窗口(由hWnd確Message 定)的通知消息,當(dāng)在圖標(biāo)的矩形框內(nèi)發(fā)生鼠標(biāo)事件時(shí)發(fā)送這些通知。HIcon 添加、更改或刪除圖標(biāo)的句柄。SzTip 為圖標(biāo)顯示的工具提示文本。?返回值:如果函數(shù)調(diào)用成功,返回非0值,否則返回0值。好了,基本上所有的理論工作,我們已經(jīng)完成,剩余的工作就是程序界面的設(shè)計(jì)和程序代碼的編寫(xiě)了。四、程序?qū)崿F(xiàn)1、程序界面設(shè)計(jì)啟動(dòng)VB6.0新建一個(gè)工程,只要一個(gè)窗體,并在窗體放置兩個(gè)框架控件、三個(gè)復(fù)選框控件、三個(gè)單選按鈕控件、一個(gè)命令按鈕控件、一個(gè)時(shí)鐘控件、一個(gè)圖像框控件和一個(gè)列表框控件。各控件在窗體上的布局如圖1,各控件放置好后,將窗體調(diào)整為如圖2形式,也就是程序運(yùn)行時(shí)的界面了。

迥設(shè)置桌面育杲-選項(xiàng) 廠開(kāi)機(jī)啟動(dòng)程序廠程序自動(dòng)結(jié)束廠啟動(dòng)時(shí)隱藏Listl-顯示方式悴居中r平鋪r拉伸L迥設(shè)置桌面育杲-選項(xiàng) 廠開(kāi)機(jī)啟動(dòng)程序廠程序自動(dòng)結(jié)束廠啟動(dòng)時(shí)隱藏Listl-顯示方式悴居中r平鋪r拉伸L選項(xiàng) 廠開(kāi)機(jī)啟動(dòng)程序廠程序自動(dòng)結(jié)束r啟動(dòng)時(shí)隱藏-顯亦方式忖居中r平備r拉伸圖2控件名稱(chēng)屬性名屬性值控件名稱(chēng)屬性名屬性值FormCaptionBorderstyle設(shè)置桌面背景3-fixeddialogTimer1EnabledIntervalFalse65535FramelCaption選項(xiàng)Command1Caption隱藏窗體Frame2Caption顯示方式Image1StretchtrueChecklCaption開(kāi)機(jī)啟動(dòng)程序Option1CaptionIndexCaptionIndexCaptionIndex居中0平鋪1拉伸2Check2Caption程序自動(dòng)結(jié)束Check3Caption啟動(dòng)時(shí)隱藏我們?cè)偻ㄟ^(guò)工程屬性面板來(lái)設(shè)置各個(gè)控件的屬性。各控件屬性設(shè)置程序界面設(shè)計(jì)好后表:如設(shè)置好各控件的屬性后,我們?cè)儆貌藛尉庉嬈魍瓿蓪?duì)彈出式菜單的設(shè)計(jì)。菜單結(jié)構(gòu)如下表:標(biāo)題名稱(chēng)級(jí)別Mainmenu0visible=false顯示方式mshowmode1居中mmode2index=0平鋪mmode2index=1拉伸mmode2index=2-M11選項(xiàng)設(shè)置…moption1啟動(dòng)時(shí)隱藏Mstarthide1程序自動(dòng)結(jié)束Mautoend1開(kāi)機(jī)啟動(dòng)程序mstartload1退出mexit12、程序代碼編寫(xiě)菜單設(shè)計(jì)好后,打開(kāi)“API文本瀏覽器”將程序所要用到的所有Win32API函數(shù)及常數(shù)和結(jié)構(gòu)選擇出來(lái)復(fù)制到窗體模塊的代碼窗口中,如下:PrivateTypeNOTIFYICONDATA

cbSizeAsLonghwndAsLonguIdAsLonguFlagsAsLonguCallBackMessageAsLonghIconAsLongszTipAsString*64EndTypePrivateConstNIM_ADD=&H0PrivateConstNIM_DELETE=&H2PrivateConstNIF_MESSAGE=&H1PrivateConstNIF_ICON=&H2PrivateConstNIF_TIP=&H4PrivateConstWM_MOUSEMOVE=&H200 '鼠標(biāo)消息PrivateConstWM_LBUTTONDOWN=&H201PrivateConstWM_LBUTTONUP=&H202PrivateConstWM_RBUTTONDOWN=&H204PrivateConstWM_RBUTTONUP=&H205PrivateConstSPI_SETDESKWALLPAPER=20PrivateConstSPIF_SENDWININICHANGE=&H2PrivateConstSPIF_UPDATEINIFILE=&H1PrivateConstHKEY_LOCAL_MACHINE=&H80000002PrivateConstHKEY_CURRENT_USER=&H80000001PrivateConstREG_SZ=1PrivateConstSTANDARD_RIGHTS_ALL=&H1F0000PrivateConstKEY_QUERY_VALUE=&H1PrivateConstKEY_SET_VALUE=&H2PrivateConstKEY_CREATE_SUB_KEY=&H4PrivateConstKEY_ENUMERATE_SUB_KEYS=&H8PrivateConstKEY_NOTIFY=&H10PrivateConstKEY_CREATE_LINK=&H20PrivateConstSYNCHRONIZE=&H100000PrivateConstKEY_ALL_ACCESS=((STANDARD_RIGHTS_ALLOrKEY_QUERY_VALUEOrKEY_SET_VALUEOrKEY_CREATE_SUB_KEYOrKEY_ENUMERATE_SUB_KEYSOrKEY_NOTIFYOrKEY_CREATE_LINK)And(NotSYNCHRONIZE))PrivateDeclareFunctionGetWindowsDirectoryLib"kernel32"Alias"GetWindowsDirectoryA"(ByVallpBufferAsString,ByValnSizeAsLong)AsLongPrivateDeclareFunctionSystemParametersInfoLib"user32"Alias"SystemParametersInfoA"(ByValuActionAsLong,ByValuParamAsLong,ByReflpvParamAsAny,ByValfuWinIniAsLong)AsLongPrivateDeclareFunctionRegOpenKeyExLib"advapi32.dll"Alias"RegOpenKeyExA"(ByValhKeyAsLong,ByVallpSubKeyAsString,ByValulOptionsAsLong,ByValsamDesiredAsLong,phkResultAsLong)AsLongPrivateDeclareFunctionRegSetValueExLib"advapi32.dll"Alias"RegSetValueExA"(ByValhKeyAsLong,ByVallpValueNameAsString,ByValReservedAsLong,ByValdwTypeAsLong,lpDataAsAny,ByValcbDataAsLong)AsLong

PrivateDeclareFunctionRegDeleteValueLib"advapi32.dll"Alias"RegDeleteValueA"(ByValhKeyAsLong,ByVallpValueNameAsString)AsLongPrivateDeclareFunctionRegCloseKeyLib"advapi32.dll"(ByValhKeyAsLong)AsLongPrivateDeclareFunctionShell_NotifyIconLib"shell32"Alias"Shell_NotifyIconA"(ByValdwMessageAsLong,pnidAsNOTIFYICONDATA)AsBoolean定義窗體模塊中的全局變量DimsPathAsStringDimNodAsNOTIFYICONDATADimlRetAsLongDimShowModeAsIntegerDimsPathAsStringDimNodAsNOTIFYICONDATADimlRetAsLongDimShowModeAsIntegerDimRetlAsLongDimRetValAsLongDimLengthAsLongDimFnameAsStringDimTileValAsStringDimStyleValAsString'圖片文件的路徑'顯示方式選擇'顯示方式的值'顯示方式的值面開(kāi)始程序代碼的編寫(xiě),在編寫(xiě)各事件過(guò)程之前,先選擇“工程”菜單下的“引用”選項(xiàng),打開(kāi)“引用”對(duì)話(huà)框,將選項(xiàng)MicrosoftScriptingRuntime選中。PrivateSubForm_Load()DimFSOAsNewFileSystemObject'列舉圖片文件夾中的所有圖片文件DimsFileAsFileDimsFolderAsFolderDimSysDirAsString*64'系統(tǒng)目錄DimSysPathAsStringDimiFNumAsIntegerOnErrorGoToerrHIfApp.PrevInstanceThenEnd'檢查程序的前一個(gè)實(shí)例是否已運(yùn)行,避免加載相同的程序?qū)嵗齅odiTrayNIM_ADD,Nod'添加系統(tǒng)托盤(pán)圖標(biāo)Fname=App.Path&"\"&App.EXEName&".exe"Length=Len(Fname)+64'從注冊(cè)表中讀取數(shù)據(jù)用于設(shè)置各個(gè)選項(xiàng)ShowMode=GetSetting(App.CompanyName,App.EXEName,"showmode",0)Option1.Item(ShowMode).Value=TrueCheck3.Value=GetSetting(App.CompanyName,App.EXEName,"ShowHide",0)IfCheck3.ValueThenMe.HideCheck2.Value=GetSetting(App.CompanyName,App.EXEName,"AutoEnd",0)IfCheck2.ValueThenTimer1.Enabled=TrueCheck1.Value=GetSetting(App.CompanyName,App.EXEName,"StartLoad",0)'取得Windows的安裝目錄lRet=GetWindowsDirectory(SysDir,Len(SysDir))SysPath=Left(SysDir,lRet)sPath="c:\WallPaper"IfNotFSO.FolderExists(sPath)ThenFSO.CreateFoldersPathEndIf'杖舉出c:\WallPaper文件夾下的所有BMP格式和JPG格式的圖片文件,并將文件名添加到listl列表框中l(wèi)op:SetsFolder=FSO.GetFolder(sPath)ForEachsFileInsFolder.FilesIfUCase(Right(sFile.Name,3))="BMP"OrUCase(Right(sFile.Name,3))="JPG"ThenListl.AddItemsFile.NameEndIfNextIfListl.ListCount=0ThenIfMsgBox(sPath&"文件夾中沒(méi)有圖像文件!"+Chr(lO)+Chr(13)+"即沒(méi)有*.BMP、*.JPG、*.Gif文件!"+Chr(l0)+Chr(l3)+"是否繼續(xù)讀取文件!",vbYesNo+vbInformation,"提示")=vbYesThenGoTolopModiTrayNIM_DELETE,NodEndEndIf'從c:\WallPaper文件夾中隨機(jī)選取一張圖片來(lái)設(shè)置桌面背景RandomizeiFNum=Int(List1.ListCount*Rnd())Image1.Picture=LoadPicture(sPath&"\"&List1.List(Int(Rnd()*List1.ListCount)))SavePictureImage1.Picture,SysPath&"\BeautyWallpaper.bmp"Option1_ClickShowMode'設(shè)置背景圖片的顯示方式lRet=RegOpenKeyEx(HKEY_CURRENT_USER,"ControlPanel\desktop",0,KEY_ALL_ACCESS,RetVal)RegSetValueExRetVal,"TileWallpaper",0,REG_SZ,ByValTileVal,Len(TileVal)RegSetValueExRetVal,"WallpaperStyle",0,REG_SZ,ByValStyleVal,Len(StyleVal)RegCloseKeylRetSystemParametersInfoSPI_SETDESKWALLPAPER,0,ByValSysPath&"\BeautyWallpaper.bmp",SPIF_SENDWININICHANGEOrSPIF_UPDATEINIFILEerrH:EndSubPrivateSubCheck1_Click()'設(shè)置開(kāi)機(jī)是否啟動(dòng)程序mStartLoad.Checked=IIf(Check1.Value,True,False)SaveSettingApp.CompanyName,App.EXEName,"StartLoad",Check1.ValuelRet=RegOpenKeyEx(HKEY_LOCAL_MACHINE,"software\microsoft\windows\currentversion\run",0,KEY_ALL_ACCESS,RetVal)IfCheck1.ValueThenRegSetValueExRetVal,"SetWallPaper",0,REG_SZ,ByValFname,LengthElseRegDeleteValueRetVal,"SetWallPaper"EndIfRegCloseKeylRetEndSubPrivateSubCheck2_Click()'設(shè)置程序是否自動(dòng)退出mAutoEnd.Checked=IIf(Check2.Value,True,False)Timer1.Enabled=IIf(Check2.Value,True,False)SaveSettingApp.CompanyName,App.EXEName,"AutoEnd",Check2.ValueEndSubPrivateSubCheck3_Click()'啟動(dòng)時(shí)隱藏mStartHide.Checked=IIf(Check3.Value,True,False)SaveSettingApp.CompanyName,App.EXEName,"ShowHide",Check3.ValueEndSubPrivateSubCommand1_Click()IfMsgBox("窗體是否現(xiàn)在立即隱藏?",vbYesNo+vblnformation,"提示")=vbYesThenMe.HideEndIfEndSubPrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)彈出菜單DimmsgAsLongmsg=X/Screen.TwipsPerPixelXSelectCasemsgCaseWM_LBUTTONDOWNCaseWM_LBUTTONUPPopupMenuMainMenuCaseWM_RBUTTONDOWNCaseWM_RBUTTONUPPopupMenuMainMenuEndSelectEndSubPrivateSubForm_Terminate()'程序中斷時(shí)刪除系統(tǒng)托盤(pán)圖標(biāo)ModiTrayNIM_DELETE,NodEndSubPrivateSubForm_Unload(CancelAsInteger)'程序退出時(shí)刪除系統(tǒng)托盤(pán)圖標(biāo)ModiTrayNIM_DELETE,NodEndSubPrivateSubmAutoEnd_Click()'通過(guò)菜單設(shè)置程序是否自動(dòng)退出Check2.Value=IIf(NotmAutoEnd.Checked,Checked,Unchecked)EndSubPri

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論