知识大全 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;   
cha138/Article/program/net/201311/12324

相关参考

知识大全 用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的回调函数

Java的回调函数  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   

知识大全 DELPHI中使用API函数的方法

DELPHI中使用API函数的方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  DELPHI的

知识大全 非常有用的操作Internet的API函数

非常有用的操作Internet的API函数  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  必须安

知识大全 C#获取USB事件API

C#获取USB事件API  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!cha138/Ar

知识大全 C#使用API屏蔽系统热键和任务管理器

C#使用API屏蔽系统热键和任务管理器  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  using

知识大全 C#中调用Windows API的要点

C#中调用WindowsAPI的要点  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在NetFr