利用WindowsAPI獲得系統(tǒng)高級(jí)功能_第1頁(yè)
利用WindowsAPI獲得系統(tǒng)高級(jí)功能_第2頁(yè)
利用WindowsAPI獲得系統(tǒng)高級(jí)功能_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、    天極網(wǎng) 鄒剛   VB無(wú)疑是最先進(jìn)的編程工具之一,但在涉及windows 32位系統(tǒng)的核心編程方面譬如一些高級(jí)功能的實(shí)現(xiàn)上,它仍然顯得有些力不從心,這需要我們充分利用vb的強(qiáng)大的Windows API函數(shù)調(diào)用能力來(lái)彌補(bǔ)。以下代碼將向您展示如何利用Windows API控制系統(tǒng)托盤(pán)(圖標(biāo))區(qū)、開(kāi)始菜單、任務(wù)欄以及禁用/起用ctrl-alt-del、退出網(wǎng)絡(luò)登錄、立即關(guān)機(jī)、重新啟動(dòng)等系統(tǒng)高級(jí)功能。啟動(dòng)VB6,建立一個(gè)標(biāo)準(zhǔn)exe工程,添加14個(gè)command按鈕,caption屬性依次為 “隱藏開(kāi)始菜單”、“顯示開(kāi)始菜單”

2、、“隱藏系統(tǒng)托盤(pán)”、“顯示系統(tǒng)托盤(pán)”、“禁用 ctrl-alt-del”、“起用 ctrl-alt-del”、“隱藏任務(wù)欄”、“顯示任務(wù)欄”、“立即重新啟動(dòng)”、“關(guān)機(jī)”、“退出網(wǎng)絡(luò)登陸”、“顯示關(guān)機(jī)對(duì)話(huà)框”,調(diào)整上述控件到適當(dāng)位置,雙擊窗體,寫(xiě)入以下代碼:   Option ExplicitPrivate Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As Str

3、ing) As Long'尋找窗口列表中第一個(gè)符合指定條件的頂級(jí)窗口'lpClassName指向包含了窗口類(lèi)名的空中止(C語(yǔ)言)字串的指針;或設(shè)為零,'表示接收任何類(lèi)'lpWindowName指向包含了窗口文本(或標(biāo)簽)的空中止(C語(yǔ)言)字串的指針;'或設(shè)為零,表示接收任何窗口標(biāo)題Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long'控制窗口的可見(jiàn)性'hwnd窗口句柄,要

4、向這個(gè)窗口應(yīng)用由nCmdShow指定的命令'nCmdShow為窗口指定可視性方面的一個(gè)命令  Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long'在窗口列表中尋找與指定條件相符的第一個(gè)子窗口 'hWnd1在其中查找子的父窗口&#

5、39;hWnd2從這個(gè)窗口后開(kāi)始查找。這樣便可利用對(duì)FindWindowEx的多次調(diào)用找到符合條件的所有子窗口。如設(shè)為零,表示從第一個(gè)子窗口開(kāi)始搜索Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long)'退出windows,并用特定的選項(xiàng)重新啟動(dòng)Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemPar

6、ametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByRef lpvParam As Any, ByVal fuWinIni As Long) As Long'允許獲取和設(shè)置數(shù)量眾多的windows系統(tǒng)參數(shù)'uAction指定要設(shè)置的參數(shù)Private Const EWX_LOGOFF = 0'中止進(jìn)程,然后注銷(xiāo)Private Const EWX_SHUTDOWN = 1'關(guān)掉系統(tǒng)電源Private Const EWX_REBOOT = 2'重新引導(dǎo)系統(tǒng)Private Con

7、st EWX_FORCE = 4'強(qiáng)迫中止沒(méi)有響應(yīng)的進(jìn)程Private Const SPI_SCREENSAVERRUNNING = 97Private Sub Command1_Click() '隱藏開(kāi)始菜單Dim Handle As Long, FindClass As LongFindClass = FindWindow("Shell_TrayWnd", "")Handle = FindWindowEx(FindClass, 0, "Button", vbNullString)ShowWindow Handle,

8、 0End SubPrivate Sub Command11_Click() '起用 ctrl-alt-delDim ret As IntegerDim pOld As Booleanret = SystemParametersInfo(SPI_SCREENSAVERRUNNING, True, pOld, 0)End SubPrivate Sub Command12_Click() '禁用 ctrl-alt-delDim ret As IntegerDim pOld As Booleanret = SystemParametersInfo(SPI_SCREENSAVERRUNNING, False, pOld, 0)End SubPrivate Sub Command13_Click() '立即重新啟動(dòng)ExitWindowsEx EWX_REBOOT, 0End SubPrivate Sub Command14_Click() '關(guān)機(jī)ExitWindowsEx EWX_S

溫馨提示

  • 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)論