|
초보... 님이 쓰신 글 :
: CPort 3.0을 이용 하고 있는데여...
: 컴포트를 체크 해서 포트가 있으면 오픈을 하고
: 없으면 오픈을 하지 않어야 하는데여..
:
: 컴포트가 있는지 없는지 체크를 할 방법을 모르겠습니다...
: ( ShowSetupDialog해서 보면 사용 가능한 포트만 나오는데...)
:
: 답변 부탁 드립니다..^^
레지스트리에서 HKEY_LOCAL_MACHINE\\HARDWARE\\DEVICEMAP\\SERIALCOMM에 보시면
사용가능한 포트가 나옵니다....
예를들면..
TRegistry *reg = new TRegistry;
TStringList *UnKey = new TStringList;
stCanUsedSerialPort->Clear(); // TStringList
reg->RootKey = HKEY_LOCAL_MACHINE;
if( reg->OpenKey("HARDWARE\\DEVICEMAP\\SERIALCOMM",false))
{
reg->GetValueNames(UnKey);
for ( int j=0 ; j < UnKey->Count ; j++)
{
if ( reg->ValueExists( UnKey->Strings[j]))
{
stCanUsedSerialPort->Add(reg->ReadString( UnKey->Strings[j]) );
}
}
reg->CloseKey();
}
delete reg;
delete UnKey;
|