S sohard Unregistered / Unconfirmed GUEST, unregistred user! 2006-05-26 #1 1、如何检测机器上所有的可用端口? 2、如何知道我哪个端口正在使用?
来 来如风 Unregistered / Unconfirmed GUEST, unregistred user! 2006-05-26 #3 1. var reg: TRegistry; st: Tstrings; rt: TStrings; i: Integer; begin reg := TRegistry.Create; try reg.RootKey := HKEY_LOCAL_MACHINE; reg.OpenKey('hardware/devicemap/serialcomm', False); st := TstringList.Create; rt := TStringList.Create; try reg.GetValueNames(st); for i := 0 to st.Count - 1 do rt.Add(reg.Readstring(st.strings)); Result := rt.Text; //rt里面就是可用串口 finally st.Free; rt.Free; end; reg.CloseKey; finally reg.Free; end; end; 2.不知道
1. var reg: TRegistry; st: Tstrings; rt: TStrings; i: Integer; begin reg := TRegistry.Create; try reg.RootKey := HKEY_LOCAL_MACHINE; reg.OpenKey('hardware/devicemap/serialcomm', False); st := TstringList.Create; rt := TStringList.Create; try reg.GetValueNames(st); for i := 0 to st.Count - 1 do rt.Add(reg.Readstring(st.strings)); Result := rt.Text; //rt里面就是可用串口 finally st.Free; rt.Free; end; reg.CloseKey; finally reg.Free; end; end; 2.不知道
S skyjacker Unregistered / Unconfirmed GUEST, unregistred user! 2006-05-26 #5 2.打开正在使用的端口,然后捕捉异常,有此端口详细的信息. 例如: TRY //打开端口 ....... EXCEPT ON E:Exception DO BEGIN memo1.Text:='打开端口发生错误:'+E.Message; END;
2.打开正在使用的端口,然后捕捉异常,有此端口详细的信息. 例如: TRY //打开端口 ....... EXCEPT ON E:Exception DO BEGIN memo1.Text:='打开端口发生错误:'+E.Message; END;
D dongy_143 Unregistered / Unconfirmed GUEST, unregistred user! 2006-05-26 #7 1.二楼办法可行 2.你机器共有几个端口?如果不跟串口服务器相连的话,一般最多的有两个;既然就两个串口,那你依次打开这两个串口,如果哪个出现异常,那就说明串口正在使用(在硬件串口没坏的情况下);