代码之家  ›  专栏  ›  技术社区  ›  Daniel Sam

从vb调用非托管dll

  •  1
  • Daniel Sam  · 技术社区  · 15 年前

    我在vb.net中找不到对非托管dll进行函数调用的语法。有人熟悉这个吗?

    假设非托管dll“connector.dll”中有一个函数“connected”。我想通过创建对它的抽象函数调用来调用这个函数。

    我看到一些代码看起来像

    [DllImport("Connector.DLL")]
    Public Shared Function Connect(ByVal intPort)
    

    但这种语法对我不起作用。

    3 回复  |  直到 7 年前
        1
  •  1
  •   Jay Riggs    15 年前

    你退房了吗 pinvoke.net ?

        2
  •  0
  •   Pang Ajmal PraveeN    7 年前

    请尝试以下代码。

    Public Declare Function Connect Lib "Connector.DLL" (<MarshalAs(UnmanagedType.I4)> ByVal intPort As Integer) As Integer
    
        3
  •  -2
  •   Nate CSS Guy    15 年前

    在visual studio中,添加对此dll的引用。

    在代码中:

    Dim vr as new COMDllClass()
    vr.FunctionInDll()
    

    按评论编辑:

    请尝试以下代码:

    <DllImport("Connector.DLL")> _
    Public Shared Function Connect(ByVal intPort)