易截截图软件、单文件、免安装、纯绿色、仅160KB

VB调用VC DLL 约定错误,求高手指点

VC函数是:extern "C" int __declspec(dllexport)PassPortRead(char *InPutData,char OuPutData[255]);
VB声明是:Private Declare Function PassPortRead Lib "PPRead.dll" (ByVal InPutData As String, ByVal OutPutData As String) As Integer
生成的文件能正常运行,并且能生成相应数据,但是在调试时提示"DLL调用约定错误"
E_Mail:linnda413@126.com
VC代码:
int PassPortRead(char *InPutData,char OutPutData[255])
{
 char tmp[255];
 int len = 0;
 memset(tmp,0,255);
 //初如化成员变量passInfo
 memset(PassInfo.Name,0,20);
 memset(PassInfo.Birth,0,20);
 memset(PassInfo.Gender,0,10);
 memset(PassInfo.Nationality,0,10);
 memset(PassInfo.Number,0,20);
 memset(PassInfo.IdCode,0,20);
 memset(PassInfo.Expiry,0,20);
 memset(PassInfo.CIssue,0,20);
 //删除换行与回车字符
 DelInStr(InPutData,"\r");
 DelInStr(InPutData,"\n");
 
 
 len = strlen(InPutData);
 if (len == 0)
 {
  return -1;
 }
 if (len < 80)
 {
  PassportParseTD2(InPutData); 
 }else{
  PassportParseTD1(InPutData); 
 } 
 sprintf(tmp,"#01%s#02%s#03%s#04%s#05%s#06%s#07%s#08%s",
  PassInfo.Name,PassInfo.Birth,PassInfo.Gender,PassInfo.Nationality,PassInfo.Number,
  PassInfo.IdCode,PassInfo.Expiry,PassInfo.CIssue);
 strcat(OutPutData,tmp);
 
 return 0;
}
VB代码:
Private Declare Function PassPortRead Lib "PPRead.dll" (ByVal InPutData As String, ByVal OutPutData As String) As Integer
Private Sub START_BTN_Click()
Dim PPData As String
Dim PPShow As String
PPData = PPData_TXT.Text
PPShow = String(255, vbNullChar)
If PPData = "" Then
    PRSHOW_TXT.Text = "护照数据不能为空..."
End If
Call PassPortRead(PPData, PPShow)
PRSHOW_TXT.Text = PPShow
End Sub
生成程序运行正常:
调试时出现错误


相关文档:

Asp.net连接数据库教程(vb.net)

Asp.net连接SQL Server2000数据库例程详解: 
<%@ Import Namespace="System.Data" %> 
<%@ Import NameSpace="System.Data.SqlClient" %> 
<script laguage="VB" runat="server"> 
sub page_load(sender as Object ......

让VB菜鸟最快写出自己的外挂.通杀所有游戏.呵呵.


让VB菜鸟最快写出自己的外挂.通杀所有游戏.呵呵.
这年头,在这个论坛里面已经没有什么技术贴了...呵呵~发一篇惊天地,泣鬼神的帖子.当然这个只是模拟键盘的终极模拟.呵呵~
      键盘是我们使用计算机的一个很重要的输入设备了,即使在鼠标大行其道的今天,很多程序依然离不开键盘来操作。但是 ......

接着外挂教程 VB 从零开始编外挂


接着外挂教程 VB 从零开始编外挂
需要VBAPI函数:
FindWindow←寻找窗口列表中第一个符合指定条件的顶级窗口
GetWindowThreadProcessId←获取与指定窗口关联在一起的一个进程和线程标识符
--------------------------------------------------------------------------------------------------------------- ......

VB的雷达扫描

自己整了4个目标用于扫描。以后可能可以自己添加删除(写到这儿忽然觉得C++的vector不能删除元素(反正C++ Primer里目前没找到)让人很郁闷)
Form1,须加一个Timer1
Dim CAngle As Integer 'Current Angle (Not Class Angle)
Private Sub Form_Load() '初始化
CAngle = 0
Me.BackColor = vbBlack
......

VB 使用C语言Escape的方法

在C语言中,escape的符号很好用,
比如
 "中国一定强"
这个字串可以写成:
"\x4E2D\x56FD\x4E00\x5B9A\x5F3A"
用字元编码编写程序,在其他不同语言的windows运作时,比较不会有问题。
(我尽量不想在程序中写入中文)
但是vb如果全部要用字元编码写的话,就会很麻烦而且一个一个都要手写成:
ChrW(&H4E2D) ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号