看板 C_and_CPP 關於我們 聯絡資訊
我做的事情是這樣: 1.開啟已知存在的COM port => CreateFile() 2.另外開一個thread 持續去poll該COM port是否被拔除 3.若發現已被拔除,才呼叫CloseHandle() 目前對於2的作法是: (1) 查找HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM 發現即使裝置已被拔除,該清單仍未更新 => 顯然被CreateFile鎖住了 (2) QueryDosDevice() 同(1),只要CreateFile()的handle還開著,就不會更新 但是該裝置在裝置管理員中的圖示明明已經消失了 顯然有其他方式查詢 懇請賜教,謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.251.192.2
govert:不用那麼麻煩, 用GetCommState去polling就可以了. 12/12 12:04
govert:COM被拔掉的話, GetCommState會失敗. 12/12 12:04
Leeng:太感謝了!! 12/12 14:01