gpt4 book ai didi

C# SerialPort GetPortNames 在 Windows 10 上不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 15:25:19 25 4
gpt4 key购买 nike

一两年前,我在 Windows 8 或 Windows 8.1 中编写了一个简单的程序,它提供 Arduino Uno 和我的 C# Form 应用程序之间的串行端口连接。首先,我检查了 pc 中所有打开的 com 端口,并获取这些端口以进行连接选择。要做到这一点,工作代码如下所示;

private void portCheck_Click(object sender, EventArgs e)
{
foreach (string item in System.IO.Ports.SerialPort.GetPortNames())
{
//store the each retrieved available port names into the Listbox...
if (!portBox.Items.Contains(item))
{ portBox.Items.Add(item); }
}
}

我已经很长时间没有打开这个程序了,现在我格式化我的电脑并使用 Windows 10 教育版进行全新安装。当我运行这个项目时,我意识到该程序没有找到任何打开的 com 端口。它不会进入 foreach 循环,只是 System.IO.Ports.SerialPort.GetPortNames() 不会返回任何端口名称。我做了一些研究并阅读了有关 Windows 10 中这种情况的问题。人们给出了关于串行连接的完全不同的解决方案。我不想重写整个项目。那么有没有人知道这个问题?有什么简单的解决方案吗?

最佳答案

您确定升级到 Windows 10 后串口本身工作正常吗?

  • 它是否出现在设备管理器中?
  • 它是否出现在 HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM 下的注册表中(SerialPort.GetPortNames() 获取其信息的地方)?

有趣的是,我维护了一个使用 SerialPort.GetPortNames() 来枚举串行端口的软件,它在 Windows 10 上运行良好。

关于C# SerialPort GetPortNames 在 Windows 10 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35561349/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com