public string SetAutomation(object wl) { string labelPttText = ""; if (pttPort != null) { pttPort.Dispose(); } pttPort = null; if (wl == null) { iWlEntry = null; iWlDoc = null; iWlDupingEntry = null; } else { iWlEntry = (WriteLogClrTypes.ISingleEntry)(wl); iWlDoc = (WriteLogClrTypes.IWriteL)iWlEntry.GetParent(); iWlDupingEntry = iWlDoc.CreateEntry(); SetupExchangeFieldNumbers(); string RttyRegKeyName = "Software\\W5XD\\writelog.ini\\RttyRite"; if (instanceNumber > 1) { RttyRegKeyName += instanceNumber.ToString(); } Microsoft.Win32.RegistryKey rk = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(RttyRegKeyName); if (null != rk) { object Port = rk.GetValue("Port"); if (null != Port) { int port; if (Int32.TryParse(Port.ToString(), out port) && port > 0) { try { string portname = "COM" + port.ToString(); pttPort = new System.IO.Ports.SerialPort(portname); pttPort.Handshake = System.IO.Ports.Handshake.None; pttPort.RtsEnable = false; pttPort.Open(); labelPttText = "ptt on " + portname; } catch (System.Exception) { pttPort = null; } } } } } return(labelPttText); }