```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:\VisualStudio\Document_VS2015\CoCoOCR\Release\IMG_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

VB 如何调用 c++ DLL?的更多相关文章

  1. 【VB技巧】VB静态调用与动态调用dll详解

    本文“[VB技巧]VB静态调用与动态调用dll详解”,来自:Nuclear'Atk 网络安全研究中心,本文地址:http://lcx.cc/?i=489,转载请注明作者及出处! [[请注意]]:在以下 ...

  2. VB.NET中的DLL编写和调用的最简单示例

    DLL(动态链接库)是一个很有用的东西,在开发大项目的时候显得非常重要,因为多人合作开发时,可以给每个人分配一个任务,用DLL完成,最后组合起来,就不会出现互相冲突的问题.这里给出最简单的DLL编写与 ...

  3. 非托管C++通过C++/CLI包装调用C# DLL

    项目中要给其它客户程序提供DLL做为接口,该项目是在.Net4.0平台下开发.终所周知.Net的各个版本之间存在着兼容性的问题,但是为了使用高版本运行平台的新特性,又不得不兼顾其它低版本平台客户程序的 ...

  4. [转]C#调用C++dll

    本文转载至http://www.cnblogs.com/ysharp/archive/2012/05/25/2517803.html 在合作开发时,C#时常需要调用C++DLL,当传递参数时时常遇到问 ...

  5. C#时常需要调用C++DLL

    在合作开发时,C#时常需要调用C++DLL,当传递参数时时常遇到问题,尤其是传递和返回字符串是,现总结一下,分享给大家: VC++中主要字符串类型为:LPSTR,LPCSTR, LPCTSTR, st ...

  6. vb6如何调用delphi DLL中的函数并返回字符串?

    1,问题描述 最近发现vb6调用delphi DLL中的函数并返回字符串时出现问题,有时正常,有时出现?号,有时干脆导致VB程序退出 -- :: 将金额数字转化为可读的语音文字:1转化为1元 ???? ...

  7. c# 调用c++DLL方法及注意事项

    引用命名空间 using System.Runtime.InteropServices 调用方法: 一.静态加载 用DllImprot方式来加载c++DLL.如下格式: //对应c++方法 //voi ...

  8. 在.net中调用Delphi dll的Pchar转换

    Pchar是非托管代码,要在.net中调用Delphi dll中的功能,请使用MarshalAs属性告知.net调用PInvoke去转换.net中标准的string类型.如果Delphi dll是De ...

  9. Java调用第三方dll文件的使用方法 System.load()或System.loadLibrary()

    Java调用第三方dll文件的使用方法 public class OtherAdapter { static { //System.loadLibrary("Connector") ...

随机推荐

  1. arduino笔记

    接下来,初来博客,准备自己也写一系列的arduino的学习经验. http://zhongbest.com/2017/05/23/arduino%e4%b8%ad%e7%9a%84%e4%b8%ad% ...

  2. awk解决实际问题例子

    awk很有用,就不说了,下面记录几个我遇到的例子,汇总 1 获得linux环境变量(ENVIRON) awk 'BEGIN{print ENVIRON["PATH"];}' /et ...

  3. vi使用手册

    VI是unix上最常用的文本编辑工具,我自己电脑上面也装了VIM编辑器,这个据称是程序员码字神器我实在没觉得那里舒服了,所以又用回了自己的Sublime.这里整理下vi常用操作,如果以后直接在Linu ...

  4. java1.8--Optional类

    身为一名Java程序员,大家可能都有这样的经历:调用一个方法得到了返回值却不能直接将返回值作为参数去调用别的方法.我们首先要判断这个返回值是否为null,只有在非空的前提下才能将其作为其他方法的参数. ...

  5. Servlet--Servlet接口

    servlet主要数据结构 Servlet 接口:主要定义了servlet的生命周期方法 ServletConfig接口:为servlet提供了使用容器服务的若干重要对象和方法. ServletCon ...

  6. 六、Html头部和元信息

    前面整理的都是html常用到的标签,这里整理一下html的的头部和元信息标签. 定义html都的头部要写在<head>标签里面,一般他还包含如下一些标签: 1,<script> ...

  7. Django简介--Django从入门到精通系列教程

    该系列教程系个人原创,并同步发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. Python及Django学习QQ群:453 ...

  8. 错误:java.lang.NoClassDefFoundError: com/project/common/exception/ServiceException 的解决

    问题: 项目编译通过,启动报错误信息java.lang.NoClassDefFoundError: com/project/common/exception/ServiceException. 解决方 ...

  9. join on用法

    内连接和外连接 内连接用于返回满足连接条件的记录:而外连接则是内连接的扩展,它不仅会满足连接条件的记录,而且还会返回不满足连接条件的记录 内连接 内连接查询返回满足条件的所有记录,默认情况下没有指定任 ...

  10. 面向对象_05【类的继承:extends、重写父类】

    类的继承:现有类的基础上构建一个新的类,构建出来的类被称作子类,子类可继承父类的属性和方法. 什么时候定义继承?当类与类之间存在着所属关系的时候,就定义继承.xxx是yyy中的一种==>xxx ...