网上找了一些方法都不靠谱。
具体问题是:
在未知进程占用串口的情况下,强制释放串口。
串口在WINDOWS下被虚拟成一个文件,也是用CreateFile打开串口的。
你可以枚举系统当前所有的句柄,然后利用API DuplicateHandle 并设置参数dwOptions为DUPLICATE_CLOSE_SOURCE关闭打开的串口句柄。
枚举句柄的方法可以用未公开的API ZwQuerySystemInformation 获取SystemHandleInformation的数据。具体可以GOOGLE,BAIDU OR BING.
还可以参考一些工具,比如UNLOCKER,PROCESS EXPLORER
我觉得串口不存在占用这个问题.都是底层通信的东西.
强行释放可以在 devmgmt.msc 里修改