成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

談談VB.NET API函數應用

開發 后端
你會運用VB.NET API函數嗎?本文將結合開發管理軟件來講述API函數,主要側重于在程序中判定Windows的版本 ,還有 程序中判斷Windows的安裝目錄的問題講解。

大家都知道VB開發的好處,而且它在Windows環境下越來越多的開發者采用。但如果要開發出專業的Windows軟件,還需采用大量的VB.NET API函數,以下結合開發管理軟件的經驗談幾點體會。

程序中判定Windows的版本
眾所周知,Windows3.x各版本或多或少會有些差別,為了使開發程序避免出現莫名其妙的錯誤,***在程序運行前自動判定Windows的版本。采用API提供的函數getversion很容易實現這一點。函數聲明如下: Declare Function GetVersion Lib"Kernel"() As Integer 此函數沒有參數,返回值為Windows的版本號,其中版本號的低位字節為Windows的主版本號,版本號的高位字節返回Windows的次版本號。判別過程如下:

  1. Private Sub Form_Load ()   
  2. Dim ver As Integer   
  3. Dim major As Integer   
  4. Dim minor As Integer   
  5. Ver = GetVersion ()   
  6. major = ver And &HFF   
  7. minor = (ver And &HFF00) \ 256   
  8. If major <> 3 And minor <> 10 Then   
  9. MsgBox "版本不正確!"   
  10. Exit Sub   
  11. End If   
  12. End Sub  

程序中判斷Windows的安裝目錄
一般VB開發出來的程序包含vbrun300.dll等輔助文件和.vbx文件,它們均需安裝到Windows目錄(c:\windows)或Windows的系統目錄(c:\windows\system)下,但因為用戶安裝Windows時可能會改變Windows的目錄名(如c:\windows),使用安裝軟件后,不能正確運行.API中提供的GetwinDowsdirectory或GetSystemDirectory較好地解決了這個問題。函數聲明如下:

  1. Declare Function GetSystemDirectory Lib "Kernel"(ByVal lpBuffer As   
  2. String,ByVal nSize As Integer) As Integer  

其中參數lpbuffer為字串變量,將返回實際Windows目錄或Windows的系統目錄,nsize為lpbuffer的字串變量的大小,函數返回值均為實際目錄的長度。檢查VB.NET API函數如下:

  1. Function checkdir() As Boolean   
  2. Dim windir As String * 200   
  3. Dim winsys As String * 200   
  4. Dim winl As Integer   
  5. Dim wins As Integer   
  6. Dim s1 As String   
  7. Dim s2 As String   
  8. winl = GetWindowsDirectory(windir,200)   
  9. winl = GetSystemDirectory(winsys,200)   
  10. s1 = Mid $(windir,1,winl)   
  11. s2 = Mid $(winsys,1,wins)   
  12. If Wins = 0 Or wins = 0 Then   
  13. checkdir = False   
  14. Exit Function   
  15. End If   
  16. If s1 <> "C:\WINDOWS" Or s2 <> "C:\WINDOWS\SYSTEM" Then   
  17. checkdir = False   
  18. Exit Function   
  19. End If   
  20. checkdir = True   
  21. End Function  

shell 出現的問題
通常編程時要調用外部程序,VB提供了shell()函數,但是如果shell調用的外部程序找不到,則運行的程序失去控制,VB給出提示"filenotfound",改變這種現象,要在程序中加入onerrorgoto,比較麻煩,VB.NET API函數中的winexec很好地解決了這個問題。函數聲明如下:

  1. Declare Function WinExec Lib "Kernel"(ByVal lpCmdLine As String,   
  2. ByVal nCmdShow As Integer) As Integer  

其中lpCmdline為調用的外部文件名,NcmdShow為外部程序的運行狀態,如隱藏窗口、最小化窗口等等。如返回值大于32表示執行功能,否則返回錯誤碼。例程如下:

  1. sub command1_click   
  2. ds i as integer   
  3. i=winexec("notepad.exe","c:\wst.txt",9)   
  4. '參數9 即SW_RESTORE,也就是激活并顯示窗口   
  5. if i>32 then   
  6. msgbox "調用正確!!"   
  7. else   
  8. msgbox "調用錯誤!!"   
  9. end if   
  10. end sub  

【編輯推薦】

  1. 介紹VB.NET繪圖方法的三個方面
  2. 快捷簡單的VB.NET編程事件方法介紹
  3. 簡單簡述VB.NET繪制圖形
  4. 三個案例揭秘VB.NET語法規則
  5. VB.NET實例教程對關于Array問題的解決
責任編輯:田樹 來源: 樂博網
相關推薦

2009-11-10 12:12:57

VB.NET函數

2009-10-15 17:50:48

VB.NET調用API

2009-11-10 15:36:24

VB.NET命名約定

2009-10-09 14:55:02

VB.NET數組

2009-11-03 12:52:38

VB.NET Wind

2009-10-23 10:01:28

VB.NET申明Win

2009-10-19 17:42:31

VB.NET API函

2009-10-21 10:45:50

VB.NET Quic

2010-01-12 18:40:22

VB.NET Form

2010-01-22 16:07:26

VB.NET Mid函

2009-11-03 13:02:28

VB.NET Wind

2010-01-12 16:20:44

VB.NET類

2009-10-09 15:59:41

VB.NET對象

2010-01-18 18:20:49

VB.NET使用API

2009-10-15 17:50:48

VB.NET Spli

2010-01-18 10:33:28

VB.NET基本函數

2009-11-02 13:14:18

VB.NET函數

2009-10-28 15:01:59

VB.NET SHEL

2010-01-07 15:57:02

VB.NET ForEach

2010-01-07 15:25:11

VB.NET數組
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 免费观看黄a一级视频 | 一本岛道一二三不卡区 | 天堂资源最新在线 | 韩日一区二区三区 | 精品一区二区三区在线观看国产 | 国产7777| 日韩字幕一区 | 日本黄色大片免费 | 91av在线视频观看 | 亚洲精品电影在线 | av中文字幕在线 | 国产精品久久亚洲7777 | 日本久草| 免费看a| 日韩免费一区二区 | 日本人做爰大片免费观看一老师 | 狠狠狠| 日韩欧美在线不卡 | 亚洲二区在线 | 青青久久 | 超级黄色一级片 | 亚洲精品一区二区三区 | 国产91一区 | avtt国产 | 日日躁狠狠躁aaaaxxxx | 亚洲精品福利在线 | 国产精品一码二码三码在线 | 99久久国产综合精品麻豆 | 国产精品久久久乱弄 | 国产精品一区久久久 | 亚洲 自拍 另类 欧美 丝袜 | ririsao久久精品一区 | 国产高清在线精品一区二区三区 | 中文av电影 | 蜜桃一区二区三区 | 日韩波多野结衣 | 精品日韩一区 | 一区| av在线免费观看网站 | 日韩中文在线视频 | 精品蜜桃一区二区三区 |