DLL回调函数如何写?MAS短信的DLL
移动公司给了我一个DLL的接口,其中包含发短信和接收短信,代码如下:
- C# code
[DllImport("smsdll.dll", EntryPoint = "App_Submit", CharSet = CharSet.Ansi,//Unicode, CallingConvention = CallingConvention.Cdecl)]//Cdecl public static extern int App_Submit(string service_id, string dest_terminal_id, string src_id,string content);
接收短信
- C# code
[DllImport("smsdll.dll", EntryPoint = "App_Deliver", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] unsafe public static extern int App_Deliver( StringBuilder Src_Id, StringBuilder Dest_Id, StringBuilder Msg_Content);
我如何写回调函数来获取接收短信?
我现在的解决方式是用了个 switch每隔1秒执行一次App_Deliver这个方法,显然这样做不好,
调用App_Deliver方法:
- C# code
StringBuilder srdid = new StringBuilder(50); StringBuilder destid = new StringBuilder(50); StringBuilder msgcontent = new StringBuilder(500); ret = App_Deliver(srdid, destid, msgcontent); if (ret > 0) { } else { }
请问我如何写个回调函数来获取接收的短信?
[解决办法]
要"那个DLL"提供了回调的功能才能做。
[解决办法]
[解决办法]
“我如何写回调函数来获取接收短信?
我现在的解决方式是用了个 switch每隔1秒执行一次App_Deliver这个方法,显然这样做不好,”
建议采用线程实现你的需求!