麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

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

API函數(shù)在VB中的應(yīng)用

2019-11-18 17:44:05
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
所謂API就是“應(yīng)用程序接口”(applicationPRogramingInterface),是一些用C語(yǔ)言編寫(xiě),由操作系統(tǒng)自身調(diào)用的函數(shù)。WindowsAPI函數(shù)由許多“動(dòng)態(tài)鏈接庫(kù)”或DLL組成。在32位Windows中,核心的Windows
APIDLL有如下一些:
gdi32.dll----圖形顯示界面的API。
kernel32.dll----處理低級(jí)任務(wù)(比如內(nèi)存和任務(wù)管理)的API。
user32.d11----處理窗口和消息(VisualBasic程序員能把其中一些當(dāng)作事件訪問(wèn))的API。
還不斷有新的API出現(xiàn),處理新的操作系統(tǒng)擴(kuò)展,比如E-MAIL、聯(lián)網(wǎng)和新的外設(shè)。
由于WindowsAPI函數(shù)不是VisualBasic的內(nèi)部函數(shù),所以在使用它們之前必須顯式地加以聲明。要想得到正確格式化的函數(shù)聲明,可以訪問(wèn)WINAPI目錄下的文件WIN32API.TXT。
本文只對(duì)Win95系統(tǒng)的API函數(shù)加以說(shuō)明并調(diào)用Win95的內(nèi)置功能。
重新啟動(dòng)計(jì)算機(jī)的實(shí)現(xiàn)
在Windows下安裝過(guò)程序的用戶(hù)可能都有這樣的體會(huì),當(dāng)安裝完某些應(yīng)用程序后,安裝程序會(huì)要求重新啟動(dòng)計(jì)算機(jī)以使設(shè)置生效。那么,如果要用VB程序重新啟動(dòng)計(jì)算機(jī)該如何實(shí)現(xiàn)呢?其實(shí)利用ExitWindowsEx函數(shù)即可。
程序的編寫(xiě)
1.首先運(yùn)行VB,然后新建一個(gè)工程(工程類(lèi)型為標(biāo)準(zhǔn)EXE),然后雙擊Form1窗體,進(jìn)入代碼(Code)輸入框,在其中輸入:
PrivateDeclareFunctionExitWindowsExLib"user32"(ByValuFlagsAsLong,ByValdwReserved
AsLong)AsLong
2.點(diǎn)擊“工具箱”中的commandbutton(命令按鈕)工具,即可在窗體Form1中加入一個(gè)命令按鈕,然后將該按鈕屬性中的Caption值定義為“重新啟動(dòng)”。完成之后雙擊該按鈕,進(jìn)入代碼(code)輸入框輸入以下代碼:
PrivateSubCommand1_Click()
ExitWindowsEx&H43,0
EndSub
程序的執(zhí)行
程序輸入完成后,點(diǎn)擊VB“運(yùn)行”菜單中的“啟動(dòng)”或“全面編譯”命令,然后點(diǎn)擊“重新啟動(dòng)”按鈕,即可重新啟動(dòng)計(jì)算機(jī)。
磁盤(pán)格式化
在Windows9X中,當(dāng)用鼠標(biāo)右鍵單擊“我的電腦”中的“3.5軟盤(pán)A”然后在出現(xiàn)的右鍵菜單中選擇“格式化”選項(xiàng),就將彈出標(biāo)準(zhǔn)的“磁盤(pán)格式化”窗口。下面我們來(lái)看看如何在應(yīng)用程序中利用函數(shù)輕松調(diào)用Windows95標(biāo)準(zhǔn)的“磁盤(pán)格式化”窗口,實(shí)現(xiàn)對(duì)磁盤(pán)相應(yīng)的操作功能。
程序的編寫(xiě)
1.與上例相同,首先運(yùn)行VB,新建一個(gè)標(biāo)準(zhǔn)工程,然后利用“工具箱”在Form1窗體中加入一個(gè)命令按鈕對(duì)象,將該命令按鈕屬性中的Caption值定義為“軟盤(pán)格式化”。完成之后雙擊該按鈕,在代碼輸入框中輸入以下代碼:
PrivateSubCommand1_Click()
CallFormatFloppy'調(diào)用FormatFloppy過(guò)程
EndSub
2.然后用鼠標(biāo)右擊窗體,選擇右鍵菜單中的“添加/添加模塊”選項(xiàng),然后在出現(xiàn)的選擇框中選擇“模塊”類(lèi)型,接著在出現(xiàn)的模塊代碼輸入框中加入以下代碼:(注:模塊是指一組聲明的集合,其后為過(guò)程)
'通用聲明
PublicConstWM_CLOSE=&H10
DeclareFunctionFindWindowLib"user32"Alias"FindWindowA"(ByVallpClassNameAsAny,ByVal
lpWindowNameAsAny)AsLong
DelareFunctionGetWindowsDirectoryLib"kernel32"Alias"GetWindowsDirectoryA"(ByVallpBuffer
AsString,ByValnSizeAsLong)AsLong
DeclareFunctionSetWindowPosLib"user32"(BvValhwndAsLongByValhWndInsertAfterAsLong,
ByValXAslong,ByValyAsLong,ByValcxAsLong,ByValcyAsLong,ByValwFlagsAsLong)AsLong
DeclareFunctionGetDesktopWindowLib"user32"()AsLong
DeclareFunctionLockWindowUpdateLib"user32"(ByValhwndLockAsLong)AsLong
DeclareFunctionGetWindowRectLib"user32"(ByVayhwndAsLong,lpRectAsRECT)AsLong
DeclareSubSleepLib"kernel32"(ByValdwMillisecondsAsLong)
TypeRECT
LeftAsLong
TopAsLong
RightAsLong
BottomAsLong
EndType
TypePOINTAPI
XAsLong
yAsLong
EndType
ConstSWP_NOSIZE=&H1
ConstSWP_NOZORDER=&H4
'FormatFloppy()過(guò)程聲明
PublicSubFormatFloppy()
DimsBufferAsString,WindirAsString,ProcsAsString,X
DimlResultAsLong
sBuffer=String$(255,0)
lResult=GetWindowsDirectory(sBuffer,Len(sBuffer))
Windir=Trim(sBuffer)
Procs=Left(Windir,lResult)&"/rundll32.exeshell32.dll,SHFormatDrive"
CallCenterDialog("Format-3?Floppy(A:)")
X=Shell(Procs,1)
CallCenterDialog("Format-3?Floppy(A:)")
k=LockWindowUpdate(0)
EndSub
'CenterDialog過(guò)程聲明
PublicSubCenterDialog(WinTextAsString)
DoEvents
OnErrorResumeNext
DimD3AsLong
D3=LockWindowUpdate(GetDesktopWindow())
Dimwdth
Dimhght
DimScrwdth
DimScrhght
DimlpDlgRectAsRECT
DimlpdskrectAsRECT
DimhTaskBarAsLong
hTaskBar=FindWindow(0&,WinText)
CallGetWindowRect(hTaskBar,lpDlgRect)
wdth=lpDlgRect.Right-lpDlgRect.Left
hght=lpDlgRect.Bottom-lpDlgRect.Top
CallGetWindowRect(GetDesktopWindow(),lpdskrect)
Scrwdth=lpdskrect.Right-lpdskrect.Left
Scrhght=lpdskrect.Bottom-lpdskrect.Top
X=(Scrwdth-wdth)/2
y=(Scrhght-hght)/2
CallSetWindowPos(hTaskBar,0,X,y,0,0,SWP_NOZORDEROrSWP_NOSIZE)
DoEvents
EndSub
程序的執(zhí)行
程序輸入完成后,點(diǎn)擊VB“運(yùn)行”菜單中的“啟動(dòng)”或“全面編譯”命令,點(diǎn)擊“軟盤(pán)格式化”按鈕后選擇要格式化的容量,即可對(duì)3.5英寸盤(pán)進(jìn)行格式化操作。
調(diào)用版本信息框
在Windows程序中,點(diǎn)擊“幫助”菜單中的“關(guān)于XXX”選項(xiàng)后,就會(huì)彈出該程序的版本信息框。其實(shí),在
VB中,調(diào)用shellAbout函數(shù)不但可以實(shí)現(xiàn)標(biāo)準(zhǔn)的軟件版本信息框,還可以隨意更改其中的內(nèi)容呢!
程序的編寫(xiě)
1.與前面類(lèi)似,首先運(yùn)行VB并新建一個(gè)標(biāo)準(zhǔn)工程,然后雙擊Form1窗口,在代碼輸入框中輸入ShellAbout過(guò)
程代碼:
PrivateDeclareFunctionShellAboutLib"shell32.dlI"Alias"ShellAboutA"(ByValhWndAsLong,ByValszAppAsString,ByValszOtherStuffAsString,ByValhIconAsLong)AsLong
其中ShellAbout聲明如下:
HWnd設(shè)置窗口句柄,szApp設(shè)置窗口的“Caption”,szOtherStuff在“版權(quán)所有”和“使用權(quán)”之間的空白
處增加額外說(shuō)明。
2.然后利用“工具箱”在Form1窗體中加入一個(gè)命令按鈕對(duì)象,將該命令按鈕屬性中的Caption值定義為“版
本信息框”。完成之后雙擊該按鈕,在代碼輸入框輸入以下代碼:
PrivateSubCommand1_Click()
CallShellAbeut(hWnd,"何發(fā)武天使工作室!","版本信息框"&VbCrLf&"上帝與你同在!阿彌陀佛!",0)
EndSub
程序的執(zhí)行
程序輸入完成后,點(diǎn)擊VB“運(yùn)行”菜單中的“啟動(dòng)”或“全面編譯”命令,點(diǎn)擊“版本信息框”按鈕,即可查看當(dāng)前軟件的版本信息。
查看“屬性”
在Windows9X中,增加了一個(gè)全新的概念--“屬性”,每個(gè)對(duì)象都擁有自己的“屬性”,在“屬性”窗口里是關(guān)于對(duì)象的詳細(xì)描述,并且不同的對(duì)象“屬性”窗口的說(shuō)明是不同的。我們可以用ShellExecuteEX函數(shù)直接調(diào)用“屬性”標(biāo)準(zhǔn)窗口。下面的程序功能相當(dāng)于用鼠標(biāo)右鍵單擊根目錄下的“Autoexec.bat”并選擇“屬性”時(shí),彈出的標(biāo)準(zhǔn)“屬性”窗口。
程序的編寫(xiě)
1.首先運(yùn)行VB,然后新建一個(gè)標(biāo)準(zhǔn)工程,然后利用“工具箱”在Form1窗體中加入一個(gè)命令按鈕對(duì)象,將該命令按鈕屬性中的Caption值定義為“屬性按鈕”。完成之后雙擊該按鈕,在代碼輸入框中輸入以下代碼:
PrivateSubCommand1_Click()
DimrAsLong
DimFileNameAsString
FileName="c:/autoexec.bat"
r=ShowProperties(FileName,Me.hwnd)
Ifr<=32ThenMsgBox"Error!NOc:/autoexec.batFile"
EndSuB
2.然后用鼠標(biāo)右擊窗體,選擇右鍵菜單中的“添加/添加模塊”選項(xiàng),然后在出現(xiàn)的選擇框中選擇“模塊”類(lèi)型,接著在出現(xiàn)的模塊代碼輸入框中加入以下代碼:
'通用聲明
OptionExplicit
TypeSHELLEXECUTEINFO
cbSizeAslong
FmaskAsLong
hwndAsLong
lpVerbAsString
lpFileAsString
lpParametersAsString
lpDirectoryAsString
nShowAsLong
hInstAppAsLong
lpIDListAsLong
lpClassAsString
hkeyClassAsLong
dwHotKeyAsLong
hIconAsLong
hProcessAsLong
EndType
PublicConstSEE_MASK_INVOKEIDLIST=&HC
PublicConstSESE_MASK_NOCLOSEPROCESS=&H40
PublicConstSEE_MASK_FLAG_NO_UI=&H400
DeclareFunctionShellExecuteEXLib"shell32.dll"Alias"ShellExecuteEx"(SEIAsSHELLEXECUTEINFO)AsLong
'ShowProperties過(guò)程
PublicFunctionShowProperties(FileNameAsString,OwnerhWndAsLong)AsLong
DimSEIASSHELLEXECUTEINFO
DimrAsLong
WithSEI
.cbSize=Len(SEI)
.fMask=SEE_MASK_NOCLOSEPROCESSOrSEE_MASK_INVOKEIDLISTOrSEE_MASK_FLAG_NO_UI
.hwnd=OwnerhWnd
.lpVerb="properties"
.lpFile=FileName
.lpParameters=vbNullChar
.lpDirectory=vbNullChar
.nShow=0
.hInstApp=0
.lpIDList=0
EndWith
r=ShellExecuteEX(SEI)
ShowProperties=SEI.hInstApp
EndFunction
程序的執(zhí)行
程序輸入完成后,點(diǎn)擊VB“運(yùn)行”菜單中的“啟動(dòng)”或“全面編譯”命令,點(diǎn)擊“屬性按鈕”按鈕,即可查看C:/AUTOEXEC.BAT的屬性。->


發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产噜噜噜 | 国产精品久久久久久久久久10秀 | 污视频在线免费播放 | 国产正在播放 | 91毛片网站 | 久久精品小短片 | 欧美一级做性受免费大片免费 | 国产jjizz一区二区三区视频 | 国产精品一区二区三区在线播放 | 欧美日韩国产一区二区三区在线观看 | 性爱免费视频 | 1级黄色毛片| 91嫩草丨国产丨精品入口 | 久久久久久久久久久久免费 | 亚洲国产美女视频 | 日韩美香港a一级毛片 | 99精品国产一区二区三区 | 在线播放黄色片 | 中国字幕av | 国产精品久久久久久久av | h视频免费看 | 久久久aa | 羞羞视频免费入口网站 | 色诱亚洲精品久久久久久 | 久久久久久久久久久久久久久伊免 | 久久亚洲国产精品 | 欧美日韩在线中文字幕 | 欧洲精品久久 | 欧美精品电影一区二区 | 欧洲精品久久 | av成人免费在线观看 | 国产精品91久久久 | 欧美精品一区二区三区在线 | 逼片视频 | 国产毛片在线 | 欧美69free性videos | 日韩黄色影视 | 视频一区二区中文字幕 | 亚洲国产成人久久一区www妖精 | av在线免费观看网站 | 最新午夜综合福利视频 |