亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

API函數在VB中的應用

2019-11-18 17:44:05
字體:
來源:轉載
供稿:網友
所謂API就是“應用程序接口”(applicationPRogramingInterface),是一些用C語言編寫,由操作系統自身調用的函數。WindowsAPI函數由許多“動態鏈接庫”或DLL組成。在32位Windows中,核心的Windows
APIDLL有如下一些:
gdi32.dll----圖形顯示界面的API。
kernel32.dll----處理低級任務(比如內存和任務管理)的API。
user32.d11----處理窗口和消息(VisualBasic程序員能把其中一些當作事件訪問)的API。
還不斷有新的API出現,處理新的操作系統擴展,比如E-MAIL、聯網和新的外設。
由于WindowsAPI函數不是VisualBasic的內部函數,所以在使用它們之前必須顯式地加以聲明。要想得到正確格式化的函數聲明,可以訪問WINAPI目錄下的文件WIN32API.TXT。
本文只對Win95系統的API函數加以說明并調用Win95的內置功能。
重新啟動計算機的實現
在Windows下安裝過程序的用戶可能都有這樣的體會,當安裝完某些應用程序后,安裝程序會要求重新啟動計算機以使設置生效。那么,如果要用VB程序重新啟動計算機該如何實現呢?其實利用ExitWindowsEx函數即可。
程序的編寫
1.首先運行VB,然后新建一個工程(工程類型為標準EXE),然后雙擊Form1窗體,進入代碼(Code)輸入框,在其中輸入:
PrivateDeclareFunctionExitWindowsExLib"user32"(ByValuFlagsAsLong,ByValdwReserved
AsLong)AsLong
2.點擊“工具箱”中的commandbutton(命令按鈕)工具,即可在窗體Form1中加入一個命令按鈕,然后將該按鈕屬性中的Caption值定義為“重新啟動”。完成之后雙擊該按鈕,進入代碼(code)輸入框輸入以下代碼:
PrivateSubCommand1_Click()
ExitWindowsEx&H43,0
EndSub
程序的執行
程序輸入完成后,點擊VB“運行”菜單中的“啟動”或“全面編譯”命令,然后點擊“重新啟動”按鈕,即可重新啟動計算機。
磁盤格式化
在Windows9X中,當用鼠標右鍵單擊“我的電腦”中的“3.5軟盤A”然后在出現的右鍵菜單中選擇“格式化”選項,就將彈出標準的“磁盤格式化”窗口。下面我們來看看如何在應用程序中利用函數輕松調用Windows95標準的“磁盤格式化”窗口,實現對磁盤相應的操作功能。
程序的編寫
1.與上例相同,首先運行VB,新建一個標準工程,然后利用“工具箱”在Form1窗體中加入一個命令按鈕對象,將該命令按鈕屬性中的Caption值定義為“軟盤格式化”。完成之后雙擊該按鈕,在代碼輸入框中輸入以下代碼:
PrivateSubCommand1_Click()
CallFormatFloppy'調用FormatFloppy過程
EndSub
2.然后用鼠標右擊窗體,選擇右鍵菜單中的“添加/添加模塊”選項,然后在出現的選擇框中選擇“模塊”類型,接著在出現的模塊代碼輸入框中加入以下代碼:(注:模塊是指一組聲明的集合,其后為過程)
'通用聲明
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()過程聲明
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過程聲明
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
程序的執行
程序輸入完成后,點擊VB“運行”菜單中的“啟動”或“全面編譯”命令,點擊“軟盤格式化”按鈕后選擇要格式化的容量,即可對3.5英寸盤進行格式化操作。
調用版本信息框
在Windows程序中,點擊“幫助”菜單中的“關于XXX”選項后,就會彈出該程序的版本信息框。其實,在
VB中,調用shellAbout函數不但可以實現標準的軟件版本信息框,還可以隨意更改其中的內容呢!
程序的編寫
1.與前面類似,首先運行VB并新建一個標準工程,然后雙擊Form1窗口,在代碼輸入框中輸入ShellAbout過
程代碼:
PrivateDeclareFunctionShellAboutLib"shell32.dlI"Alias"ShellAboutA"(ByValhWndAsLong,ByValszAppAsString,ByValszOtherStuffAsString,ByValhIconAsLong)AsLong
其中ShellAbout聲明如下:
HWnd設置窗口句柄,szApp設置窗口的“Caption”,szOtherStuff在“版權所有”和“使用權”之間的空白
處增加額外說明。
2.然后利用“工具箱”在Form1窗體中加入一個命令按鈕對象,將該命令按鈕屬性中的Caption值定義為“版
本信息框”。完成之后雙擊該按鈕,在代碼輸入框輸入以下代碼:
PrivateSubCommand1_Click()
CallShellAbeut(hWnd,"何發武天使工作室!","版本信息框"&VbCrLf&"上帝與你同在!阿彌陀佛!",0)
EndSub
程序的執行
程序輸入完成后,點擊VB“運行”菜單中的“啟動”或“全面編譯”命令,點擊“版本信息框”按鈕,即可查看當前軟件的版本信息。
查看“屬性”
在Windows9X中,增加了一個全新的概念--“屬性”,每個對象都擁有自己的“屬性”,在“屬性”窗口里是關于對象的詳細描述,并且不同的對象“屬性”窗口的說明是不同的。我們可以用ShellExecuteEX函數直接調用“屬性”標準窗口。下面的程序功能相當于用鼠標右鍵單擊根目錄下的“Autoexec.bat”并選擇“屬性”時,彈出的標準“屬性”窗口。
程序的編寫
1.首先運行VB,然后新建一個標準工程,然后利用“工具箱”在Form1窗體中加入一個命令按鈕對象,將該命令按鈕屬性中的Caption值定義為“屬性按鈕”。完成之后雙擊該按鈕,在代碼輸入框中輸入以下代碼:
PrivateSubCommand1_Click()
DimrAsLong
DimFileNameAsString
FileName="c:/autoexec.bat"
r=ShowProperties(FileName,Me.hwnd)
Ifr<=32ThenMsgBox"Error!NOc:/autoexec.batFile"
EndSuB
2.然后用鼠標右擊窗體,選擇右鍵菜單中的“添加/添加模塊”選項,然后在出現的選擇框中選擇“模塊”類型,接著在出現的模塊代碼輸入框中加入以下代碼:
'通用聲明
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過程
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
程序的執行
程序輸入完成后,點擊VB“運行”菜單中的“啟動”或“全面編譯”命令,點擊“屬性按鈕”按鈕,即可查看C:/AUTOEXEC.BAT的屬性。->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
2020欧美日韩在线视频| 国产精品69久久久久| 日本成熟性欧美| 日韩在线不卡视频| 国产亚洲精品美女久久久| 国产精品爽爽爽爽爽爽在线观看| 国产精品午夜一区二区欲梦| 亚洲人成欧美中文字幕| 国产日韩欧美影视| 国产成人精品综合久久久| 国内精品400部情侣激情| 欧美寡妇偷汉性猛交| 亚洲精品美女在线观看播放| 日韩在线免费av| 亚洲图中文字幕| 国内精品久久久久久久| 91精品国产一区| 亚洲剧情一区二区| 国产精品久久久久久av| 最新日韩中文字幕| 国产福利精品av综合导导航| 在线观看欧美成人| 亚洲第一页中文字幕| 欧美性生交大片免费| 中文字幕亚洲综合久久筱田步美| 欲色天天网综合久久| 久久视频免费在线播放| 欧美老少做受xxxx高潮| 中文字幕亚洲欧美日韩2019| 国产女人精品视频| 欧美亚洲国产成人精品| 亚洲精品国产精品自产a区红杏吧| 欧美大片免费观看在线观看网站推荐| 日韩免费av在线| www.欧美精品一二三区| 欧美性猛交丰臀xxxxx网站| 国产成人精品网站| 国产剧情久久久久久| 亚洲成人在线视频播放| 91性高湖久久久久久久久_久久99| 日韩有码视频在线| 亚洲免费视频在线观看| 国产91成人在在线播放| 欧美做受高潮1| 亚洲精品久久久久久久久久久| 亚洲国产精品专区久久| 欧亚精品在线观看| 国产精品成人免费视频| 久久精品国产一区| 91av国产在线| 亚洲精品日韩丝袜精品| 欧美性少妇18aaaa视频| 久久精品中文字幕| 日韩欧美aⅴ综合网站发布| 国产精品久久久久国产a级| 久久久久久久久国产精品| 91黄色8090| 欧美性极品少妇精品网站| 久久躁日日躁aaaaxxxx| 亚洲国产黄色片| 国产精品久久久一区| 国产亚洲成av人片在线观看桃| 亚洲国产三级网| 欧美日韩国产一区在线| 国产精品第二页| 国产欧美精品一区二区三区-老狼| 国产精品久久久久77777| 欧美精品免费在线观看| 中文字幕久精品免费视频| 欧美激情在线有限公司| 超碰精品一区二区三区乱码| 欧美性jizz18性欧美| 成人午夜一级二级三级| 亚洲欧美国产视频| 午夜精品一区二区三区视频免费看| 欧美精品九九久久| 欧美一级大胆视频| 一色桃子一区二区| 色哟哟网站入口亚洲精品| 国产精品免费一区二区三区都可以| 操91在线视频| 九九视频这里只有精品| 日韩美女写真福利在线观看| 日韩国产在线看| 欧美大片在线看| 国产91对白在线播放| 精品久久中文字幕久久av| 一本一本久久a久久精品综合小说| 午夜精品一区二区三区视频免费看| www.美女亚洲精品| 在线免费看av不卡| 国产精品成人v| 中文字幕亚洲图片| 69av视频在线播放| 日韩精品极品毛片系列视频| 日韩av在线网站| 中文字幕在线亚洲| 国产欧美日韩高清| 九九热精品在线| 久久久女人电视剧免费播放下载| 一区二区三欧美| 日韩男女性生活视频| 国精产品一区一区三区有限在线| 国产一区二区激情| 国产91精品青草社区| 亚洲综合一区二区不卡| 欧美性理论片在线观看片免费| 视频一区视频二区国产精品| 久久精品国产清自在天天线| 久久久久久美女| 国产激情久久久| 欧美性感美女h网站在线观看免费| 97精品久久久中文字幕免费| 欧美性黄网官网| 91久久在线视频| 欧美精品aaa| 最近免费中文字幕视频2019| 91系列在线播放| 日韩69视频在线观看| 精品国产福利在线| 91精品久久久久久久久| 亚洲精品电影在线| 欧美精品在线免费| 亚洲精品日韩丝袜精品| 日韩精品在线免费观看视频| 国产精品久久久久久久午夜| 亚洲片国产一区一级在线观看| 国产一区二区精品丝袜| 国产精品老女人视频| 九色精品美女在线| 国产精品久久久久久久久久免费| 国产精品视频自拍| 日韩高清a**址| 午夜精品一区二区三区在线播放| 日韩精品日韩在线观看| 亚洲视频日韩精品| 亚洲成人激情小说| 亚洲电影免费观看高清完整版在线观看| 国产精品一区久久| 亚洲人成毛片在线播放| 久久成年人视频| 亚洲色图狂野欧美| 亚洲欧美激情精品一区二区| 亚洲视频视频在线| 欧美性xxxx极品hd欧美风情| 色噜噜狠狠狠综合曰曰曰88av| 久久国内精品一国内精品| 88国产精品欧美一区二区三区| 成人信息集中地欧美| 日韩中文在线中文网三级| 欧美高清视频一区二区| 色av吧综合网| 日韩av中文字幕在线免费观看| 久久久噜久噜久久综合| 国产精品一区二区久久久久| 久久久久亚洲精品国产| 欧美大片在线看| 欧美日本啪啪无遮挡网站| 亚洲在线一区二区| 亚洲一二三在线| 欧美激情aaaa| 精品在线小视频| 亚洲精品大尺度| 久久久久久久激情视频|