永发信息网

c#如何获取串口的句柄?

答案:2  悬赏:50  手机版
解决时间 2021-03-01 12:53
  • 提问者网友:精神病院里
  • 2021-03-01 00:13
因为要调用vc里的函数需要传个句柄的参数,很麻烦,求解!!
先谢!!

[DllImport(“kernel32.dll”)]
private static extern int CreateFile(string lpFileName, uint dwDesiredAccess, int dwShareMode,
int lpSecurityAttributes, int dwCreationDisposition, int dwFlagsAndAttributes, int hTemplateFile);

不确定是不是这样的方法能得到句柄。
因为用的笔记本,获得的句柄总是-1?

调用vc的函数会报错。
对 PInvoke 函数“WPF_Track!WPF_Track.MainWindow::ResetReader”的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配。

没学过vc,vc是不抛出异常的吗?还是我传入的句柄导致异常(正常结果是-1?)?
5、ResetReader
函数原型:int ResetReader(HANDLE comm)
功能说明:复位读写器。
输入参数:
●——comm:串口句柄
返回结果:调用成功返回1,否则返回-1。
调用例程:
int flag;
flag = ResetReader(h_Com);
if(flag == 1)
{
AfxMessageBox("复位读写器成功!");
}
else
{
AfxMessageBox("复位读写器失败!");
}
懂些的说下啊,3q!!
最佳答案
  • 五星知识达人网友:英雄的欲望
  • 2021-03-01 00:29
直接用 serialport 控件 吧
全部回答
  • 1楼网友:怙棘
  • 2021-03-01 01:16
serialport.getportnames() 跟你的硬件断不断开有关系么,
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯