C# 调用 C写的DLL 问题
发布网友
发布时间:2022-05-04 18:38
我来回答
共5个回答
热心网友
时间:2022-06-25 01:39
using System.Runtime.InteropServices;
在 C# 中的调用写的有问题 参数类型弄错了
[DllImport("COMM.dll", EntryPoint = "RegisterOnZXTcp", ExactSpelling = false, CallingConvention = CallingConvention.Cdecl)]
//参 数:hWnd ------- WINNTTCP窗口句柄 C#中的句柄类型为 IntPtr
//curPNo ------- 接口机的PNO 可以设为string 类型
//输 出:BOOL值,注册是否成功
public static extern bool RegisterOnZXTcp(IntPtr HWND, string curPNo);
热心网友
时间:2022-06-25 01:39
你的意思是用C#调用C写的dll对吧?
以前弄过,好久了
好像是在使用dll的时候头文件中必须加上
using System.Runtime.InteropServices;
你试试看吧
热心网友
时间:2022-06-25 01:40
不会是函数有问题吧 这也太奇怪了 可以返回说明可以运行 但是返回不正确
是不是参数传递中出问题了 费解
热心网友
时间:2022-06-25 01:40
__declspec(dllexport)声明方式的dll的确没有在C#调用的经验。。
要不要声明__declspec(dllinport)呢?
好吧当我没说 = =
热心网友
时间:2022-06-25 01:41
using System.Runtime.InteropServices;
在 C# 中的调用写的有问题 参数类型弄错了
[DllImport("COMM.dll", EntryPoint = "RegisterOnZXTcp", ExactSpelling = false, CallingConvention = CallingConvention.Cdecl)]
//参 数:hWnd ------- WINNTTCP窗口句柄 C#中的句柄类型为 IntPtr
//curPNo ------- 接口机的PNO 可以设为string 类型
//输 出:BOOL值,注册是否成功
public static extern bool RegisterOnZXTcp(IntPtr HWND, string curPNo);