Windows下如何强制释放被占用的串口

ninehills
  • 1k

网上找了一些方法都不靠谱。
具体问题是:
在未知进程占用串口的情况下,强制释放串口。

回复
阅读 19.7k
2 个回答

我觉得串口不存在占用这个问题.都是底层通信的东西.
强行释放可以在 devmgmt.msc 里修改

串口在WINDOWS下被虚拟成一个文件,也是用CreateFile打开串口的。
你可以枚举系统当前所有的句柄,然后利用API DuplicateHandle 并设置参数dwOptions为DUPLICATE_CLOSE_SOURCE关闭打开的串口句柄。
枚举句柄的方法可以用未公开的API ZwQuerySystemInformation 获取SystemHandleInformation的数据。具体可以GOOGLE,BAIDU OR BING.

还可以参考一些工具,比如UNLOCKER,PROCESS EXPLORER

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏