知识大全 C#回调函数及API应用浅析
Posted 函数
篇首语:留得青山在,不怕没柴烧。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 C#回调函数及API应用浅析相关的知识,希望对你有一定的参考价值。
C#回调函数及API应用浅析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
开发环境:WinXP Pro(SP 英文版) + VS NET 中文版
接口库版本: CMPP API第二版(V )
该例程演示了如何在C#里面调用VC 开发的C#回调函数的API应用 而且回调函数的参数包含结构体 使用C#的委托和IntPtr方法实现
由于我使用C#刚两天 这是我写的第一个C#程序 因此例程写的可能有点粗糙 但是编译和运行完全没有问题
CMPP 的API应用封装成了标准C调用的方法 提供以下三个接口 使用的时候只要有CMPPAPI dll就可以了
在C#里面如何调用API应用 如何声明结构体 如何使用委托实现C#回调函数 如何实现使用自定义结构体作为参数的C#回调函数 请仔细查看例程源码 注意:CMPPAPI dll要和可执行文件放到同一个目录下 或者放到可执行文件能找到的目录 或者放到系统目录下(如:C:\\windows\\system )
下面是C#下面的完整的调用代码
- //Class cs using System; // 该名称空间包含了在Visual C#中调用API的一些必要集合 using System Runtime InteropServices; // 使用Sleep方法需要的命名空间 using System Threading; namespace CMPPAPI_Sample_CSharp [StructLayout(LayoutKind Sequential Pack = )] public struct CMPP_HEAD public uint nTotalLength; public uint nCommandId; public uint nSeqId; [StructLayout(LayoutKind Sequential Pack = )] public struct CMPP_CONNECT [MarshalAs(UnmanagedType ByValTStr SizeConst = )] public string sSourceAddr; [MarshalAs(UnmanagedType ByValTStr SizeConst = )] public string sAuthSource; public byte cVersion; public uint nTimeStamp; [StructLayout(LayoutKind Sequential Pack = )] public struct CMPP_CONNECT_RESP public byte uchStatus; [MarshalAs(UnmanagedType ByValTStr SizeConst = )] public string sAuthISMG; public byte cVersion; [StructLayout(LayoutKind Sequential Pack = )] public struct CMPP_SUBMIT_RESP public long nMsgid; public byte uchResult; [StructLayout(LayoutKind Sequential Pack = )] public struct CMPP_STATUS_REPORT public long nMsgid; [MarshalAs(UnmanagedType ByValTStr SizeConst = )] public string sStat; [MarshalAs(UnmanagedType ByValTStr SizeConst = )] public string sSubmitTime; [MarshalAs(UnmanagedType ByValTStr SizeConst = )] public string sDoneTime; [MarshalAs(UnmanagedType ByValTStr SizeConst = )] public string sDestTerminalId; public uint nSmscSeq; [StructLayout(LayoutKind Sequential Pack = )] public struct CMPP_MO_MSGCONTENT [MarshalAs(UnmanagedType ByValTStr SizeConst = )] public string sMsgcontent; public CMPP_STATUS_REPORT csr; [StructLayout(LayoutKind Sequential Pack = )] public struct CMPP_DELIVER public long nMsgid; [MarshalAs(UnmanagedType ByValTStr SizeConst = )] public string sDestid; [MarshalAs(UnmanagedType ByValTStr SizeConst = )] public string sServiceid; public byte uchTppid; public byte uchTpudhi; public byte uchMsgfmt; [MarshalAs(UnmanagedType ByValTStr SizeConst = )] public string sSrcterminalid; public byte uchRegisteredDelivery; public byte uchMsglength; public CMPP_MO_MSGCONTENT mo_msg; [MarshalAs(UnmanagedType ByValTStr SizeConst = )] public string sReserved;
相关参考
知识大全 用Visual C#调用Windows API函数
用VisualC#调用WindowsAPI函数 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! A
知识大全 SendMessage API函数在PowerBuilder中应用[2]
SendMessageAPI函数在PowerBuilder中应用[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶
知识大全 SendMessage API函数在PowerBuilder中应用[1]
SendMessageAPI函数在PowerBuilder中应用[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶
知识大全 JavaScript回调(callback)函数概念自我理解及示例
JavaScript回调(callback)函数概念自我理解及示例 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一
Java的回调函数 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  
DELPHI中使用API函数的方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! DELPHI的
非常有用的操作Internet的API函数 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 必须安
C#获取USB事件API 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!cha138/Ar
C#使用API屏蔽系统热键和任务管理器 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! using
C#中调用WindowsAPI的要点 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在NetFr