📄 readme.txt
字号:
1.C#调用CMPP2.0接口库的例程
开发环境:Winxp SP2 + VS.net 2003
被调用的dll:CMPPAPI.DLL (V2.6)
该例程演示了如何在C#里面调用VC6.0开发的带回调函数的API,而且回调函数的参数包含结构体,
使用C#的委托和IntPtr方法实现.
由于我使用C#刚两天,这是我写的第一个C#程序,因此例程写的可能有点粗糙,但是编译和运行完全没有问题.
CMPP2.0的API封装成了标准C调用的方法,提供以下三个接口,使用的时候只要有CMPPAPI.dll就可以了.
#define DllExport extern "C" __declspec(dllexport)
DllExport int __stdcall Cmpp2Start(LPCTSTR pchSmgIp, int nMtPort, int nMoPort, \
LPCTSTR pchUserName, LPCTSTR pchUserPwd, unsigned char uchVersion, \
void (__stdcall *OnSmgMsg)(CMPP_SMGTOSP* css), int nConnType, void (__stdcall *OnLogFile)(LPCTSTR str));
DllExport int __stdcall Cmpp2Submit(unsigned char uchPKtotal, unsigned char uchPKnumber, \
unsigned char uchNeedreport, unsigned char uchMsglevel, LPCTSTR pchServiceid, \
unsigned char uchFeeusertype, LPCTSTR pchFeeterminalid, unsigned char uchTppid, \
unsigned char uchTpudhi, unsigned char uchMsgfmt, LPCTSTR pchMsgsrc, \
LPCTSTR pchFeetype, LPCTSTR pchFeecode, LPCTSTR pchValidtime, \
LPCTSTR pchAttime, LPCTSTR pchSrcid, unsigned char uchDestusrtl, \
LPCTSTR pchDestterminalid, unsigned char uchMsglen, LPCTSTR pchMsgcontent);
DllExport int __stdcall Cmpp2Release();
在C#里面如何调用API,如何声明结构体,如何使用委托实现回调函数,如何实现使用自定义结构体作为参数的回调函数,
请仔细查看例程源码。
测试例程的运行和上下行消息需要有CMPP2.0模拟网关配合,本站也提供下载,或者使用真实网关也可以.
同样的道理,该API和CMPP3接口库, SGIP1.2接口库也可以被C#,VB,VC6,BCB,Delphi,Java调用.
相关的例程和升级版的接口库会在近期推出,敬请关注!
C#调用CMPP2.0 API的VS.net 2003例程源码下载
CMPP2.0模拟网关下载
CMPPAPI.dll下载(V2.6)
注意:CMPPAPI.dll要和可执行文件放到同一个目录下,或者放到可执行文件能找到的目录,或者放到系统目录下(如:C:\windows\system32).
http://www.zealware.com
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -