程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> 怎樣用VB在應用程序中調用API

怎樣用VB在應用程序中調用API

編輯:VB綜合教程
由於API過程存在於VisualBasic應用程序之外的文件中,在使用時必須指定過程的位置和調用參數。可以用Declare語句提供這類信息。在聲明了API過程之後,可以把它當做VisualBasic自己的過程使用。 
  如果在VisualBasic中直接調用API,那麼VisualBasic環境下固有的安全機制將受到不利影響。這意味著在測試和調試程序時可能會遇到更多的系統故障。為了減少這種危險,在聲明API過程、傳遞參數和指定類型的時候務必要小心。無論在什麼情況下,一定要經常保存已經完成的工作。API可以提供不同凡響的功能,但是要用好它也不容易。
  下例將演示如何調用WindowsAPI中的過程。調用函數SetWindowText來改變一個窗體的標題欄。當然,在實際應用中,通常總是利用VisualBasic的Caption屬性來改變標題欄。該示例的目的在於說明如何聲明並調用過程。
  聲明API過程
  首先,在模塊的聲明部分對過程進行聲明:
  PrivateDeclareFunctionSetWindowTextLib"user32"_
  Alias"SetWindowTextA"(ByValhwndAsLong,_
  ByVallpStringAsString)AsLong
  過程的精確語法定義可以用APIViewer應用程序找到,在Win32api.txt文件中也可以找到它。如果將Declare放在Form或者Class模塊內,那麼必須在它的前面加上Private關鍵字。同一個API過程在一個工程中只需聲明一次;然後可以任意調用。
  
  
  調用API過程
  在聲明了函數之後,調用它的方式與標准的VisualBasic函數相同。在下例中,FormLoad事件調用了上面聲明的過程。
  PrivateSubForm_Load()
  SetWindowTextForm1.hWnd,"WelcometoVB"
  EndSub
  在運行這段代碼時,函數首先使用hWnd屬性確定要修改標題欄的窗口(Form1.hWnd),然後將標題欄修改為“WelcometoVB”。
  需要牢記的是:VisualBasic不能驗證傳遞到API過程的值是否正確。如果傳遞了錯誤的值,那麼過程將出錯,並可能因此導致VisualBasic應用程序停止運行。這樣就不得不重新加載和啟動應用程序。在測試API過程時千萬要小心,一定要經常地保存自己的工作。
  極少數API調用能夠識別缺省的Variant數據類型。最好聲明具體的變量類型並使用OptionExplicit,這樣,API的可靠性要高得多。->

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved