Click here to Skip to main content
15,896,912 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
Hi, I have problem in my program. my program know COM ports but i want to write a code to choose COM1 automatically...
please help me.
Posted

Usually people don't know what they want and have to discover it, in your case :
C#
System.IO.Ports.SerialPort ComPort1 = new System.IO.Ports.SerialPort("COM1", 9600, Parity.None, 8, StopBits.One);
 
Share this answer
 
Comments
Madhuri Gamane 16-Jun-15 3:20am    
how it will change com 17 to com 1 ?? for installed driver ??
Mehdi Gholam 16-Jun-15 7:29am    
Use "Com17"
Madhuri Gamane 16-Jun-15 8:36am    
can u help me ??
i think your ans can help me...

this is my functions for com ports
[DllImport("MSPorts.dll")]
public static extern Int16 ComDBOpen(ref UInt32 PHCOMDB);

[DllImport("MSPorts.dll")]
public static extern long ComDBClose(UInt32 PHCOMDB);

[DllImport("MSPorts.dll")]
public static extern long ComDBReleasePort(UInt32 PHCOMDB,int ComNumber);

ManagementObjectCollection mReturn;
ManagementObjectSearcher mSearch;
mSearch = new ManagementObjectSearcher("Select * from Win32_SerialPort where name like '%MyDevice%' ");
mReturn = mSearch.Get();

string com = "";
string str1 = "";

foreach (ManagementObject mObj in mReturn)
{
str1 = mObj["Name"].ToString();
com = mObj["DeviceID"].ToString();
}

Int16 idsfdf1 = ComDBOpen(ref PHCOMDB);
long lng1 = ComDBReleasePort(PHCOMDB, 3); // if com3 is busy release it as // i want com port 3
long dsfdf1 = ComDBClose(PHCOMDB);


_serialPort = new SerialPort("COM17", 9600, Parity.None, 8, StopBits.One); // want // to transfer com 17 to com 3

now com should return com3
mSearch = new ManagementObjectSearcher("Select * from Win32_SerialPort where name like '%MyDevice%'");
mReturn = mSearch.Get();
foreach (ManagementObject mObj in mReturn)
{
str1 = mObj["Name"].ToString();
com = mObj["DeviceID"].ToString();
}

am i wrong somewhere ??

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900