我和朋友合作做一个程序,我用C++写了一个DLL文件,他用C#做的界面。
现在要用他的C#调用我的DLL,但是我对C#不熟悉,希望高手能给出代码。
C++编写的DLL文件的头文件:
#ifdef __cplusplus
#define EXPORT extern "C"__declspec(dllexport)
#else
#define EXPORT __declspec(dllexport)
#endifstruct PEN
{
enum
{
SOLID_STYLE = 0,
POINT_STYLE = 5,
INSIDEFRAME_STYLE = 6
}style;
int width;
COLORREF colorref;
};struct PARAM
{
HWND hWnd;
PVOID pVoid;
UINT weith;
int * select;};
struct DRAWPARAM
{
HDC hdc;
int * select;
POINT * pointArray[3];
};EXPORT BOOL CALLBACK EMFDraw(HWND,LPWSTR,int *);
VOID EmfDrawThread(PVOID);EXPORT BOOL CALLBACK LineDraw(HWND,PEN *,int *);
VOID LineDrawThread(PVOID);
EXPORT BOOL CALLBACK PenDraw(HWND,PEN *,int *);
VOID PenDrawThread(PVOID);EXPORT BOOL CALLBACK Eraser(HWND,UINT,int *);
VOID EraserThread(PVOID);
希望高手给出代码和详细的注释。
谢谢
现在要用他的C#调用我的DLL,但是我对C#不熟悉,希望高手能给出代码。
C++编写的DLL文件的头文件:
#ifdef __cplusplus
#define EXPORT extern "C"__declspec(dllexport)
#else
#define EXPORT __declspec(dllexport)
#endifstruct PEN
{
enum
{
SOLID_STYLE = 0,
POINT_STYLE = 5,
INSIDEFRAME_STYLE = 6
}style;
int width;
COLORREF colorref;
};struct PARAM
{
HWND hWnd;
PVOID pVoid;
UINT weith;
int * select;};
struct DRAWPARAM
{
HDC hdc;
int * select;
POINT * pointArray[3];
};EXPORT BOOL CALLBACK EMFDraw(HWND,LPWSTR,int *);
VOID EmfDrawThread(PVOID);EXPORT BOOL CALLBACK LineDraw(HWND,PEN *,int *);
VOID LineDrawThread(PVOID);
EXPORT BOOL CALLBACK PenDraw(HWND,PEN *,int *);
VOID PenDrawThread(PVOID);EXPORT BOOL CALLBACK Eraser(HWND,UINT,int *);
VOID EraserThread(PVOID);
希望高手给出代码和详细的注释。
谢谢
[DllImport("iphlpapi.dll", CharSet = CharSet.Auto)]
public static extern int GetAdaptersInfo(IntPtr pAdapterInfo, ref int pBufOutLen);