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

VB.NET Windows API函數兩步通

開發 后端
這里就使用DllImport特征類來申明VB.NET Windows API函數還有使用“Declare”語句來申明Windows API函數做出全面的講解。

VB.NET經過長時間的發展,很多用戶都很了解VB.NET Windows API函數了,這里我發表一下個人理解,和大家討論討論。VB.NET要實現查看文件中的圖標,目前只使用.Net FrameWork SDK是無法實現這種功能的,正如前面所說,主要是由于.Net FrameWork SDK推出的時間較短,其功能還不可能面面俱到。

#T#解決問題的關鍵是正確使用Windows API函數,其中所涉及到的Windows API函數主要有二個:其一是獲得指定文件中的圖標數目;其二是從指定文件的指定位置導出圖標的Windows句柄。這二個函數都位于 “Shell32.dll”文件中,并且函數的入口點都為“ExtractIcon”。下面是在VB.NET中分別使用DllImport特征類和“Declare”語句申明這二個VB.NET Windows API函數的具體方法。

1.使用DllImport特征類來申明VB.NET Windows API函數

下面是在VB.NET中使用DllImport特征類申明二個Windows API函數的具體示例:

  1. 函數ExtractIcon,其功能是是從指定文件的指定位置導出圖標的Windows句柄。  
  2. < System.Runtime.InteropServices.DllImport ( "Shell32.dll" , EntryPoint :"ExtractIcon" ) > _  
  3. Public Function _  
  4. ExtractIcon ( ByVal src As System.IntPtr , ByVal strFileName As string , ByVal uiIconIndex As UInt32 ) As System.IntPtr  
  5. End Function  
  6. '函數Icon_Num,其功能是獲得指定文件中的圖標數目  
  7. < System.Runtime.InteropServices.DllImport ( "Shell32.dll" , EntryPoint :"ExtractIcon" ) > _  
  8. Public Function _  
  9. Icon_Num ( ByVal src As System.IntPtr , ByVal strFileName As string , ByVal uiIconIndex As Integer ) As Integer  
  10. End Function  

在使用DllImport特征類申明Windows API函數時,如果申明的函數名稱和函數的入口點相同,則可以在申明Windows API函數時,省略定義函數入口點對應的代碼,即EntryPoint對象字段對應的代碼,這樣聲明ExtractIcon函數的代碼也可以簡化為如下所示:

  1. < System.Runtime.InteropServices.DllImport ( "Shell32.dll" ) > _  
  2. Public Function _  
  3. ExtractIcon ( ByVal src As System.IntPtr , ByVal strFileName As string , ByVal uiIconIndex As UInt32 ) As System.IntPtr  
  4. End Function 

2.使用“Declare”語句來申明Windows API函數

使用“Declare”語句的確比使用DllImport特征類要簡單了許多,下面是在VB.NET中使用“Declare”語句來聲明上述二個Windows API函數的具體方法:

  1. Declare Auto Function ExtractIcon Lib "Shell32.dll" Alias "ExtractIcon"   
  2. ( ByVal src As System.IntPtr , ByVal strFileName As string , ByVal uiIconIndex As UInt32 ) As System.IntPtr  
  3. '聲明ExtractIcon函數  
  4. Declare Auto Function Icon_Num Lib "Shell32.dll" Alias "ExtractIcon"   
  5. ( ByVal src As System.IntPtr , ByVal strFileName As string , ByVal uiIconIndex As Integer ) As Integer  
  6. '聲明Icon_Num函數 

在VB.NET中聲明Windows API函數時,“Declare”語句中Alias關鍵字的作用相當于使用DllImport特征類中的EntryPoint對象字段。同樣在使用 “Declare”語句聲明Windows API函數時,如果聲明的函數和函數的入口點相同,也可以省略Alias關鍵字對應的代碼,所以ExtractIcon函數也可以簡化為如下:

  1. Declare Auto Function ExtractIcon Lib "Shell32.dll"   
  2. ( ByVal src As System.IntPtr , ByVal strFileName As string , ByVal uiIconIndex As UInt32 )   
  3. As System.IntPtr 

下面就結合一個示例的編寫過程來掌握的這二個Windows API函數的具體使用方法,這個示例的作用就是讀取指定文件中的圖標數目,并顯示文件中的圖標。

責任編輯:田樹 來源: 博客
相關推薦

2009-10-19 13:34:18

VB.NET條形碼編程

2009-11-03 12:52:38

VB.NET Wind

2009-10-23 10:01:28

VB.NET申明Win

2009-10-26 10:44:27

VB.NET API函

2009-10-20 09:42:16

VB.NET編程

2009-10-15 17:50:48

VB.NET調用API

2009-10-19 17:42:31

VB.NET API函

2009-10-26 10:12:14

VB.NET操作MsA

2009-10-21 10:45:50

VB.NET Quic

2010-01-18 18:20:49

VB.NET使用API

2009-10-15 17:50:48

VB.NET Spli

2009-10-14 17:21:47

VB.NET定制Win

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

2009-10-28 15:38:30

VB.NET網絡

2009-11-03 09:09:19

VB.NET類

2009-10-12 12:54:58

VB.NET聲明API

2009-11-10 16:55:05

VB.NET調用API

2009-10-21 09:46:13

VB使用ArrayLi
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 福利精品 | 欧美视频免费在线观看 | 国内精品一区二区 | 亚洲丝袜天堂 | 日韩国产在线 | 国产精品久久久久久久久图文区 | 欧美欧美欧美 | 日韩视频精品 | 青青久在线视频 | 色综合区| 精品一区二区三区在线观看 | 国产精品国产三级国产aⅴ中文 | 亚洲视频在线看 | 日本一区二区高清不卡 | 一级毛片视频免费观看 | 久久99精品久久久久久噜噜 | 中文字幕一二三 | 欧美激情欧美激情在线五月 | 国产精品视频久久久 | 色免费看 | 日韩精品免费 | 日韩欧美日韩在线 | 久草a√ | 免费麻豆视频 | 亚洲欧美aⅴ | av不卡一区 | 国产精品呻吟久久av凹凸 | 超碰av在线| 亚洲成人精品在线 | 欧美激情久久久 | 国产精品99一区二区 | 美女在线观看av | 亚洲电影在线播放 | 黄色毛片视频 | 日韩中文一区二区三区 | 国产中文原创 | 日韩欧美国产一区二区 | 美女黄色在线观看 | 精品在线一区 | 欧美福利在线 | 免费国产视频 |