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

淺述VB API函數快速入門

開發 后端
文章主要介紹了VB API函數,API函數的兩種方法的使用和VB函數使用過程中遇到問題的解決,以及介紹常見的API參數類型的說明。

VB API函數使用還是比較常用的,于是我研究了一下VB  API函數的運用和常見問題的解決,在VB函數使用中聲明API函數有兩種方法,在這里拿出來和大家分享一下,希望對大家有用。
   
一、在VB函數使用中聲明API函數有兩種方法

如果我們只在某個窗體中使用API函數,我們可以在窗體代碼的General部分聲明它:

聲明的語法是:

  1. Private Declare Function ...   
  2. Private Declare Sub.....  

這里必須采用Private聲明,因為這個API函數只能被一個窗體內的程序所調用。

如果我們的程序有多個窗體構成,而且我們需要在多個窗體中使用同一個API函數,就需要在模塊中聲明了。
先添加一個模塊,然后采用如下語法聲明:

  1. Public Declare Function....   
  2. Public Declare Sub.... 

Public聲明的含義是把API函數作為一個公共函數或過程,在一個工程中的任何位置(包括所有的窗體和模塊)都能直接調用它。 聲明完畢我們就能在程序中使用此API函數了。

二、可采用以下幾種方式使用API函數,以SetWindowPos函數為例:

(1)忽略函數返回值的調用:

  1. SetWindowPos Form1.hWnd, -2 ,0 ,0 ,0, 0, 3  

 注意此時函數的參數是不加括號的。
(2)Call方法調用:

  1. Call SetWindowPos(Form1.hWnd, -2, 0, 0, 0, 3)   

(3)取得函數返回值的調用:

  1. MyLng = SetWindowPos(Form1.hWnd, -2, 0, 0, 0, 3)  

此時需要加上括號,而且我們必須事先定義一個變量(變量的類型與函數返回值類型相同)來存儲API函數的返回值。

三、幾個問題的說明:

(1)聲明中的Lib 和 Alias 是怎么回事

一般情況下WIN32API函數總是包含在WINDOWS系統自帶的或是其它公司提供的動態連接庫DLL中,而Declare語句中的Lib關鍵字就用來指定DLL(動態連接庫)文件的路徑,這樣VB才能找到這個DLL文件,然后才能使用其中的API函數。如果我們只是列出DLL文件名而不指出其完整的路徑的話,VB會自動到.EXE文件所在目錄、當前工作目錄、WINDOWS\SYSTEM目錄、WINDOWS目錄下搜尋這個DLL文件。所以如果所要使用DLL文件不在上述幾個目錄下的話,我們應該指明其完整路徑。
Alias用于指定API函數的別名,如果我們調用的API函數要使用字符串(參數中包含String型)的話,Alias關鍵字是必須的。這是因為在ANSI和Unicode字符集中同一API函數的名稱可能是不一樣的,為了保證不出現聲明錯誤,我們使用Alias關鍵字指出API函數的別名,一般來說在WIN9X平臺下我們把API函數名后加一個大寫A作為別名即可。

(2)常見的API參數類型的說明

API函數的參數中最常見的是長整Long型數據類型,例如API中的句柄、一些特定的常量、函數的返回值都是此類型 的值;另外幾種常見的參數類型有:整型Integer、Byte型、String型等。

(3)聲明中的ByVal是作什么用的

這跟VB的參數傳遞方式有關,在默認情況下VB是通過地址傳遞方式傳遞函數的參數、而有些API函數要求必須采用傳值方式來傳遞函數參數(這兩種參數傳遞方式是不同的,前者傳遞的是一個指針,而后者要求是參數真實的值)。這樣就會發生錯誤,解決的辦法是在API函數參數聲明的前面加上ByVal關鍵字,這樣VB就采用傳值方式傳遞參數了。

(4)怎樣得到完整的API函數聲明

VB自帶了API文本查看器API TEXT VIEWER,我們可以在其中找到API函數的完整聲明,然后把它粘貼到程序中即可。

以上就是VB函數使用,希望對大家有幫助。

【編輯推薦】

  1. 淺析VB.NET繪制GDI圖形的方法
  2. 敘述VB.NET創建控件數組
  3. VB.NET Declare語句學習筆記
  4. VB.NET使用Alias子句簡介
  5. 討論VB.NET簡單數據類型
責任編輯:田樹 來源: 洪恩在線
相關推薦

2010-07-15 13:52:51

TELNET連接

2010-06-29 12:17:16

SIGTRAN協議

2009-09-28 14:49:44

Hiberante映射

2010-07-06 17:05:22

PPPOE協議

2010-08-02 16:08:24

ICMP協議設置

2009-09-25 13:10:15

Hibernate性能

2010-09-06 14:10:27

PPP內核

2010-07-13 14:52:21

Linux SNMP

2010-08-05 17:06:58

RIP路由協議

2010-07-12 16:58:34

LEACH協議

2009-10-09 16:11:33

VB.NET語法

2010-09-25 14:25:29

Linux DHCP服

2010-06-24 15:02:43

FTP協議

2010-09-07 14:30:20

Linux PPPoE

2009-10-09 16:00:34

VB6.0開發

2009-11-04 11:03:08

Oracle用戶表空間

2010-05-26 18:01:32

IPv6報頭

2010-06-10 16:16:42

BGP路由協議

2010-09-08 16:01:57

SIP協議棧

2010-07-01 15:55:54

FTP文件傳輸協議
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 三a毛片 | 日本小视频网站 | 亚洲综合二区 | 亚洲二区精品 | 精品无码三级在线观看视频 | 国产精品久久久久9999鸭 | 日韩欧美在线不卡 | 天堂中文在线观看 | 特级黄一级播放 | 91视频大全 | 91色在线| 欧美一区二区三区久久精品 | 狠狠久| 男女污污网站 | 亚洲一区久久久 | 在线播放国产一区二区三区 | 影视一区| 国产97视频在线观看 | 国产乱码精品1区2区3区 | 亚洲成色777777在线观看影院 | 国产四区 | 天天躁日日躁狠狠躁白人 | 婷婷在线网站 | 精品视频一区二区三区在线观看 | 少妇黄色 | 精品欧美在线观看 | 亚洲精品自在在线观看 | 久久中文字幕一区 | 九九亚洲 | 国产成人综合在线 | 国产一区二区中文字幕 | 国产亚洲欧美日韩精品一区二区三区 | 91在线看| 国产日韩一区二区 | 一级黄色片一级黄色片 | 精品伊人久久 | 成av在线 | 亚洲女人天堂网 | 中文字幕一级毛片视频 | 国产精品国产馆在线真实露脸 | 91免费看片 |