zoukankan      html  css  js  c++  java
  • VB 如何调用 c++ DLL?

    
    ```Class MainWindow
    
        'ByVal 值传递 ByRef 引用传递
        'Function 有返回值 Sub 无返回值
        'C语言数据类型在VisualBasic中声明为调用时使用的表达式
        'ATOM ByVal variable As Integer 结果为Integer 类型的表达式
        'BOOL ByVal variable As Long 结果为 Long 类型的表达式
        'Byte ByVal variable As Byte 结果为 Byte 类型的表达式
        'Char ByVal variable As Byte 结果为 Byte 类型的表达式
        'COLORREF ByVal variable As Long 结果为 Long 类型的表达式
        'DWORD ByVal variable As Long 结果为 Long 类型的表达式
        'HWND, HDC, HMENU ByVal variable As Long 结果为 Long 类型的表达式等Windows 句柄
        'INT, UINT ByVal variable As Long 结果为 Long 类型的表达式
        'Long ByVal variable As Long 结果为 Long 类型的表达式
        'LPARAM ByVal variable As Long 结果为 Long 类型的表达式
        'LPDWORD variable As Long 结果为 Long 类型的表达式
        'LPINT, LPUINT variable As Long 结果为 Long 类型的表达式
        'LPRECT variable As Type 自定义类型的任意变量
        'LPSTR, LPCSTR ByVal variable As String 结果为 String 类型的表达式
        'LPVOID variable As Any 任何变量(在传递字符串的时候使用ByVal)
        'LPWORD variable As Integer 结果为Integer 类型的表达式
        'LRESULT ByVal variable As Long 结果为 Long 类型的表达式
        'NULL As Any 或 ByVal Nothing 或
        'ByVal variable As Long ByVal 0& 或 VBNullString
        'Short ByVal variable As Integer 结果为Integer 类型的表达式
        'VOID Sub procedure() 不可用
        'WORD ByVal variable As Integer 结果为Integer 类型的表达式
        'WPARAM ByVal variable As Long 结果为 Long 类型的表达式
        Private Declare Auto Function MSBox Lib "user32.dll" Alias "MessageBox" (ByVal hWnd As Integer, ByVal txt As String, ByVal caption As String, ByVal Typ As Integer) As Integer
        Private Declare Function VB_CreateOCRInstance Lib "CoCoOCR.dll" () As Long
        Private Declare Sub VB_ReleaseOCRInstance Lib "CoCoOCR.dll" ()
    
        Private Declare Function VB_Recognize Lib "CoCoOCR.dll" (ByVal filePath As String, ByVal result As String, ByVal len As Integer) As Integer
        Private Declare Function VB_RecognizeEx Lib "CoCoOCR.dll" (ByVal filePath As String, ByVal result As String, ByVal len As Integer, ByVal type As Integer) As Integer
        Private Declare Function VBRecognizeExEx Lib "CoCoOCR.dll" (ByVal filePath As String, ByVal result As String, ByVal len As Integer, ByVal x As Integer, ByVal y As Integer, ByVal width As Integer, ByVal height As Integer) As Integer
    
        Const MB_ICONQUESTION As Integer = &H20
        Const MB_YESNO As Integer = &H4
        Const IDYES As Integer = 6
        Const IDNO As Integer = 7
        Private Sub button_Click(sender As Object, e As RoutedEventArgs) Handles button.Click
            ' Stores the return value.
            Dim RetVal As Integer
            RetVal = MSBox(0, "Declare DLL Test", "Windows API MessageBox", MB_ICONQUESTION Or MB_YESNO)
    
            ' Check the return value.
            If RetVal = IDYES Then
                MsgBox("You chose Yes")
            Else
                MsgBox("You chose No")
            End If
        End Sub
    
    
        Private Sub button1_Click(sender As Object, e As RoutedEventArgs) Handles button1.Click
            Dim ret As Long
            Dim retRc As Integer
            ret = VB_CreateOCRInstance()
    
            If ret <> 0 Then
            Else
                Dim result As String = Space$(1024)
                Dim len As Integer = 1024
                Dim path As String = "D:VisualStudioDocument_VS2015CoCoOCRReleaseIMG_200WBS.jpg"
                retRc = VB_Recognize(path, result, len)
                textBox.Text = result
            End If
            VB_ReleaseOCRInstance();
    
        End Sub
    
        Private Sub button2_Click(sender As Object, e As RoutedEventArgs) Handles button2.Click
    
        End Sub
    End Class
  • 相关阅读:
    hihocoder [Offer收割]编程练习赛14 投掷硬币
    hihocoder [Offer收割]编程练习赛14 小Hi和小Ho的礼物
    CodeForces
    [HNOI2004] 打砖块
    CodeForces
    hdu4028 The time of a day[map优化dp]
    hdu5009 Paint Pearls[指针优化dp]
    hdu4719 Oh My Holy FFF[线段树优化dp]
    hdu1024 Max Sum Plus Plus[降维优化好题(貌似以后可以不用单调队列了)]
    hdu3709 Balanced Number[数位dp]
  • 原文地址:https://www.cnblogs.com/cheungxiongwei/p/8308474.html
Copyright © 2011-2022 走看看