国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

用VB設(shè)計(jì)更換屏幕保護(hù)的程序

2019-11-18 17:29:00
字體:
供稿:網(wǎng)友
制作一個(gè)本企業(yè)的屏幕保護(hù),在客戶運(yùn)行本企業(yè)的應(yīng)用軟件的時(shí)候,為客戶更改屏幕保護(hù),是個(gè)廣告宣傳的好辦法。有很多朋友提出這個(gè)問題,現(xiàn)解答如下:
  要更換屏幕保護(hù),首先得做好一個(gè)屏幕保護(hù)(scr文件),本例以工程1.scr這個(gè)文件為例。由于windows是把屏幕保護(hù)文件存放在system下,但記錄屏幕保護(hù)文件位置的文件卻是windows目錄下的system.ini,所以,首先需要找出系統(tǒng)的windows和system目錄的確切安裝位置。因此,可以分如下幾步進(jìn)行:

  1、找到windows和system目錄的安裝位置

  2、把屏幕保護(hù)文件復(fù)制到system目錄下

  3、在system.ini中的[boot]中寫入:

    SCRNSAVE.EXE=C:/WINDOWS/SYSTEM/工程1.SCR

  4、告訴系統(tǒng)切換屏幕保護(hù)。

  下面的例子成功地改變了屏幕保護(hù),全部源代碼如下:

'得到windows目錄

PrivateDeclareFunctionWritePrivateProfileStringLib"kernel32"Alias"WritePrivateProfileStringA"(ByVallpapplicationNameAsString,ByVallpKeyNameAsAny,ByVallpStringAsAny,ByVallplFileNameAsString)AsLong

'得到system目錄
PrivateDeclareFunctionGetSystemDirectoryLib"kernel32"Alias"GetSystemDirectoryA"(ByVallpBufferAsString,ByValnSizeAsLong)AsLong

'設(shè)置屏幕保護(hù)
PrivateConstSPI_SETSCREENSAVETIMEOUT=15
PrivateConstSPI_SETSCREENSAVEACTIVE=17
PrivateConstSPIF_UPDATEINIFILE=&H1
PrivateConstSPIF_SENDWININICHANGE=&H2

PrivateDeclareFunctionSystemParametersInfoLib"user32"Alias"SystemParametersInfoA"(ByValuActionAsLong,ByValuParamAsLong,ByVallpvParamAsLong,ByValfuWinIniAsLong)AsLong

'啟動(dòng)屏幕保護(hù)
PrivateDeclareFunctionSendMessageLib"user32"Alias"SendMessageA"(ByValhwndAsLong,ByValwMsgAsLong,ByValwParamAsLong,lParamAsAny)AsLong

PrivateConstWM_SYSCOMMAND=&H112
PrivateConstSC_SCREENSAVE=&HF140

PrivateSubForm_Load()
 '得到system目錄
 DimsSaveAsString,RetAsLong
 sSave=Space(255)
 Ret=GetSystemDirectory(sSave,255)
 sSave=Left$(sSave,Ret)
 '把屏保復(fù)制到系統(tǒng)目錄
 FileCopyApp.Path&"/工程1.scr",sSave&"/工程1.SCR"
 '得到windows目錄
 DimPathAsString,strSaveAsString
 strSave=String(250,Chr$(0))
 Path=Left$(strSave,GetWindowsDirectory(strSave,Len(strSave)))
 '修改system.ini
 DimrAsLong
 DiminipathAsString
 iniPath$=Path "/system.ini"
 r=WritePrivateProfileString("boot","SCRNSAVE.EXE",sSave&"/工程1.SCR",iniPath)
 '設(shè)置時(shí)間間隔為1分鐘=60秒
 lRet=SystemParametersInfo(SPI_SETSCREENSAVETIMEOUT,60,ByVal0&, 
    SPIF_UPDATEINIFILE SPIF_SENDWININICHANGE)
 '設(shè)置屏幕保護(hù)
 retval=SystemParametersInfo(SPI_SETSCREENSAVEACTIVE,True,0,0)
 '啟動(dòng)屏幕保護(hù)
 DimresultAsLong
result=SendMessage(Form1.hwnd,WM_SYSCOMMAND,SC_SCREENSAVE,0&)
EndSub

  本例在vb6.0 win95下運(yùn)行通過。

->


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 临江市| 广宁县| 中山市| 密云县| 焦作市| 中宁县| 泰安市| 长岛县| 嵩明县| 定远县| 黄冈市| 阿瓦提县| 曲水县| 寻甸| 临城县| 大新县| 舞钢市| 铁岭市| 府谷县| 红安县| 邢台县| 宁武县| 错那县| 延川县| 舒兰市| 大安市| 丰顺县| 尉氏县| 陆川县| 贺州市| 岢岚县| 吉木乃县| 岚皋县| 富顺县| 邻水| 衡东县| 昂仁县| 榆林市| 乐都县| 香河县| 诏安县|