VB.NET编程语言为广大开发人员带来了非常大的好处。我们今天就可以通过VB.NET Dllimport特点的介绍来进一步加深对这款语言特点的认知。我们可以使用Declare语句调用外部DLL中的过程。但VB.NET给我们提供了另外一种更加先进的----- Dllimport特性。
成都创新互联公司是专业的绥阳网站建设公司,绥阳接单;提供网站设计、成都网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行绥阳网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
如:
- Imports System.Runtime.InteropServices
- < DllImport("user32")> _
- Function Findwindow()Function
Findwindow(ByVal lpClassName As
String, ByVal lpWindowName As
String) As Integer- End Function
- < DllImport("user32")> _
- Function MoveWindow()Function
MoveWindow(ByVal hWnd As String,
ByVal x As Integer, ByVal y As
Integer, ByVal nWidth As Integer,
ByVal nHeight As Integer, ByVal
bRepaint As Integer) As Integer- End Function
- Sub Test()Sub Test()
- Dim hWnd As Integer =
Findwindow(Nothing,
"Untitled-Nodepad")- If hWnd < > 0 Then MoveWindow
(hWnd, 0, 0, 600, 300, 1)- End Sub
这样就可以不任何代码实现便可以调用外部的Dll,即使我们改变方法名为FindwindowA,也可以顺利的实现调用,因为使用Dllimport特性编译器可以自动追踪实际的过程以及方法! #t#
另外,VB.NET Dllimport特性海支持几种可选的参数,来精确定义调用外部过程的方式,以及外部过程的返回值方式.
CharSet 参数:用于说明字符串传递给外部过程的方式,可以是CharSet.Ansi(默认),CharSet.Unicode.CharSet.Auto.
ExactSpelling参数:用于指定方法名是否和DLL中的名称完全一致,默认值为True.
EntryPoint参数:用于指定DLL中的实际函数名称.
CallingConvention参数:为入口点指定调用的约定,值有WinApi(默认 值),CDecl,FastCallStdCall和ThisCall.
SetLastError参数:判断被调用函数是否设置了最近一次Win32错误代码,如果设置为True 则可以通过Err.LastDllError方法或Marshal.GetLastWin32Error方法 读取这些代码.
PreServeSig参数:为一个Boolean值,如果为True ,则将告诉编译器,方法不应被转换为一 个返回HRESULT值函数.
下面使用VB.NET Dllimport特性来调用myFunction.dll中的名为friend(friend为vb保留名称)的方法.Dllimport特性带有Unicode字符串,并影响Win32错误代码:
- < DllImport("myFunction.dll",
EntryPoint:="Friend", CharSet
CharSet:=CharSet.Unicode,
SetLastError:=True)> _- Function MakeFriends(ByVal sl
As String, ByVal s2 As String)
As Integer- End Function
VB.NET Dllimport的特性就为大家介绍到这里。
分享名称:VB.NETDllimport相关特点分析
文章URL:http://www.shufengxianlan.com/qtweb/news29/268229.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联