|
windows에서 현재 시스템에 있는 serial port 는 레지스터에 보면 있습니다.
아래는 제가 만들어 쓰는 함수입니다.
그대로 copy해서 써도 될것입니다.
#include "registry.hpp"
void SetCOMPort(TComboBox *cmb)
{
TStringList *portlist=new TStringList;
TRegistry *reg = new TRegistry;
try
{
reg->RootKey = HKEY_LOCAL_MACHINE;
reg->OpenKey("HARDWARE\\DEVICEMAP\\SERIALCOMM", true);
reg->GetValueNames(portlist);
cmb->Items->Clear();
for(int i=0;i<portlist->Count;i++)
cmb->Items->Add(reg->ReadString(portlist->Strings[i]));
reg->CloseKey();
}
__finally
{
delete reg;
delete portlist;
}
}
그럼...
이한진 님이 쓰신 글 :
: Cport3.0을 사용하고 있습니다.
: 사용 중 궁금한것이 있어 질문을 드립니다.
: Cport 의 ShowSetupDialog를 사용하지 않고 자체적으로 셋업다이알로그를 만드려고 합니다.
: Cport 에서 제공하는 Combo 컴포넌트 있긴한데, 이것은 변경이 되지 않더라구요
: com1에서 com2로 변경해도 실제 연결되는것은 ShowSetupDialog에 설정된 포트가 열리구요..
: 그래서 별도로 셋업다이알로그를 만드려는데
: Cport 는 현재 컴퓨터에서 잡히는 포트만 보여주더라구요..
: 이처럼 현재 컴퓨터에 잡히는 포트만 combo box에 표시하려 하는데
: 잘 않되네요..
: 혹 아시는분은 답변 부탁드릴께요..
|