在c++builder中,如何获取计算机所有的串口资源
在c++builder中,怎么获取计算机所有的串口资源?
我用的是MSComm控件。。求大神们给点指示。。
------最佳解决方案--------------------
本帖最后由 ccrun 于 2012-04-12 17:55:22 编辑 从注册表中读取所有串口的信息并添加到ComboBox中:
以上代码中cbxComlist是一个ComboBox,用MSComm是打开一个指定的串口。
------其他解决方案--------------------
是电脑上所有的串口吗?
在注册表 HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM 里面
------其他解决方案--------------------
我也有
HANDLE h = INVALID_HANDLE_VALUE;
int ComValue;
//---------------------------------------
__fastcall TForm6::TForm6(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------
void __fastcall TForm6::FormCreate(TObject *Sender)
{
for(int i=1;i <=12;i++)
{
AnsiString comname = "\\\\.\\COM" + String(i);
h = ::CreateFile( comname.c_str(),
GENERIC_READ
------其他解决方案--------------------
GENERIC_WRITE,
0,
0,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
我用的是MSComm控件。。求大神们给点指示。。
------最佳解决方案--------------------
本帖最后由 ccrun 于 2012-04-12 17:55:22 编辑 从注册表中读取所有串口的信息并添加到ComboBox中:
#include <registry.hpp>
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TRegistry *reg = new TRegistry;
reg->RootKey = HKEY_LOCAL_MACHINE;
reg->OpenKey("HARDWARE\\DEVICEMAP\\SERIALCOMM", true);
cbxComlist->Sorted = false;
reg->GetValueNames(cbxComlist->Items);
cbxComlist->Items->BeginUpdate();
for (int i=0; iItems->Count; i++)
cbxComlist->Items->Strings[i] =
reg->ReadString(cbxComlist->Items->Strings[i]);
cbxComlist->Items->EndUpdate();
delete reg;
cbxComlist->Sorted = true;
}
以上代码中cbxComlist是一个ComboBox,用MSComm是打开一个指定的串口。
------其他解决方案--------------------
是电脑上所有的串口吗?
在注册表 HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM 里面
------其他解决方案--------------------
我也有
HANDLE h = INVALID_HANDLE_VALUE;
int ComValue;
//---------------------------------------
__fastcall TForm6::TForm6(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------
void __fastcall TForm6::FormCreate(TObject *Sender)
{
for(int i=1;i <=12;i++)
{
AnsiString comname = "\\\\.\\COM" + String(i);
h = ::CreateFile( comname.c_str(),
GENERIC_READ
------其他解决方案--------------------
GENERIC_WRITE,
0,
0,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,