本机串口COM1/COM2如何绑定至comboBox中?

来源:百度知道 编辑:UC知道 时间:2024/06/08 15:11:49
我现在需要获得计算机的本机串口并且绑定至comboBox下拉框中提供选择.
有哪为大虾有这方面的技术请指教..越详细越好..因为从没做过正在研究中...谢谢.!

WINDOWS使用文件IO函数( CreateFile, CloseHandle, ReadFile, ReadFileEx, WriteFile, WriteFileEx) 来打开关闭串口和读写串口。如打开COM1,可使用
HANDLE handle = CreateFile("COM1",GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0,NULL),如果打开失败会返回个INVALID_HANDLE_VALUE。
所以可以在combobox中添加以下项目: COM1,COM2
在用户选择某个COM口后(如COM1),以这个COM口为文件名(如COM1)来调用CreateFile函数来尝试打开这个串口。
除用文件IO函数对串口进行操作外。还有一些函数用来设置串口如:GetCommState,SetCommState,BuildCommDCB,GetCommProperties,CommConfigDialog,PurgeComm,FlushFileBuffers,SetCommMask,GetCommMask,WaitCommEvent,EscapeCommFunction,SetCommBreak,GetCommBreak等函数,具体的使用请参见MSDN library。

using Microsoft.Win32;

comboBox1.Items.Clear();
RegistryKey serialCommKey = Registry.LocalMachine.OpenSubKey( @"HardWare\DeviceMap\SerialComm\" );
string[] valueNames = serialCommKey.GetValueNames();
foreach ( string name in valueNames )
{
comboBox1.Items.Add( serialCommKey.GetValue( name ) );
}