1

我的问题的答案可能已经存在,但我没有成功地将数据综合成一个连贯的解决方案。感谢您的建议。

我正在使用 Visual Basic (.NET 3.5) 和 Visual Studio 2012 编写“用户控制”应用程序。我得到了一个 DLL 文件,其中包含我必须访问的功能。此外,我还获得了相应的 .LIB 和 .H 文件,我被告知这是正确使用 DLL 所必需的。我相信 DLL 是用 C 编写的。

我还获得了一些较旧的 VB 代码,据说这些代码利用了 DLL 的功能,即 DLL 在项目中“包含”(或某些东西)。正如您可能会说的那样,我对此的把握充其量是微不足道的。这是VB代码:

Private Declare Function SF_AddToCommandQueue Lib "SFrmUt80.dll" Alias "_SF_AddToCommandQueue@8" _
    (ByVal CmdCode As Integer, ByVal strParam As String) As Boolean

Private Declare Function SF_FlushCommandQueue Lib "SFrmUt80.dll" Alias "_SF_FlushCommandQueue@4" _
    (ByVal strWindowTitle As String) As Boolean

Private Declare Function SF_GetUserName Lib "SFrmUt80.dll" Alias "_SF_GetUserName@8" _
    (ByVal strBuffer As String, ByVal BufferSize As Integer) As Integer

Private Declare Function SF_GetUserID Lib "SFrmUt80.dll" Alias "_SF_GetUserID@0" _
    () As Integer

Private Declare Function SF_GetCmdType Lib "SFrmUt80.dll" Alias "_SF_GetCmdType@0" _
    () As Integer

Private Declare Function SF_GetCmdFilename Lib "SFrmUt80.dll" Alias "_SF_GetCmdFilename@8" _
    (ByVal strBuffer As String, ByVal BufferSize As Integer) As Integer

Private Declare Function SF_GetRegisteredMsg Lib "SFrmUt80.dll" Alias "_SF_GetRegisteredMsg@0" _
    () As Integer

希望这不是太模糊,我想知道如何将这个 DLL 文件集成到我的解决方案中,以便我可以在 VB .NET 中使用它的功能。

非常感谢您的智慧。谢谢!

4

1 回答 1

1

-files.H对您没有多大用处,因为您不在托管环境中使用它们。您实际上只需将DLLs 包含到您的解决方案中(即将它们添加到 中的项目中Solution-Explorer)。
VS 为您完成其余的工作,您需要做的就是,就像您已经做的那样,在源代码中声明库中的函数并调用这些函数。

MSDN上有一篇关于此的文章。

于 2013-03-17T20:02:42.653 回答