在c++builder中,怎么获取计算机所有的串口资源?
我用的是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;
}
0);
if (h == INVALID_HANDLE_VALUE)
{
DWORD err = ::GetLastError();
if(i==1)
{
if(err==2)
RadioButton1->Enabled=false;
}
if(i==2)
{
if(err==2)
RadioButton2->Enabled=false;
}
if(i==3)
{
if(err==2)
RadioButton3->Enabled=false;
}
if(i==4)
{
if(err==2)
RadioButton4->Enabled=false;
}
if(i==5)
{
if(err==2)
RadioButton5->Enabled=false;
}
if(i==6)
{
if(err==2)
RadioButton6->Enabled=false;
}
if(i==7)
{
if(err==2)
RadioButton7->Enabled=false;
}
if(i==8)
{
if(err==2)
RadioButton8->Enabled=false;
}
if(i==9)
{
if(err==2)
RadioButton9->Enabled=false;
}
if(i==10)
{
if(err==2)
RadioButton10->Enabled=false;
}
if(i==11)
{
if(err==2)
RadioButton11->Enabled=false;
}
if(i==12)
{
if(err==2)
RadioButton12->Enabled=false;
}
}
CloseHandle(h);
}
RadioButton1->Checked=true;ComValue=1;
}
最近调试过的。。。。。
[其他解释]