求教高手!!!!!!
一个对呼叫中心进行二次开发的项目,开发包是VC写的,现在要求用C#写。C#中如何使用VC的头文件?请各位大侠指教!
代码如下:#include "stdafx.h"
#include "stdio.h"
#include "string.h"
#include <windows.h>
#pragma comment(lib,"LClientDll.lib")
#define DllAPI __declspec(dllimport)
//extern "C"
//{
DllAPI int __stdcall LClientStartDemo(char *host, char *port, char *oper, char *ch, int flag);
DllAPI int __stdcall LClientRcvDemo(char *data);
DllAPI int __stdcall LClientStop();
//}
//这只是演示调用,真正的调用,请使用定时器调用
int main(int argc, char* argv[])
{
int r=0;
char str[100];
while(1==1) //这个循环确保即使LQ停止重启动也能自动重新链接
{
r=LClientStartDemo("127.0.0.1", "7628", "801", "0", 1);
while(1==1){
//Sleep(200); //其实这个sleep不一定需要
memset(str,0,sizeof(str));
r=LClientRcvDemo(str);
printf("r=%d \n",r);
if(r==-100) continue;
if(r>0)
{
printf("r=%d data=[%s]\n",r,str);
}
else
{
printf("r=%d restart...\n",r);
break;
}
}//while
LClientStop();
}//for
return 0;
}
希望各位大侠不吝惜源码谢谢,急!
------解决方案--------------------虽然不知道,还是帮LZ顶一下
------解决方案--------------------在c#中,只能Import那个DLL,然后手工调用,没法自动识别.H文件的。
下面是个例子:
[DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Auto)]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool GetDiskFreeSpaceEx(String lpDirectoryName,
out ulong lpFreeBytesAvailable,
out ulong lpTotalNumberOfBytes,
out ulong lpTotalNumberOfFreeBytes);
------解决方案--------------------