Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Определить существующие com-порты системы

58K
15 сентября 2010 года
makavely
12 / / 14.09.2010
Пытаюсь определить и вывести куда-нибудь список всех com портов системы, раньше работал в билдере, там код был такой
Код:
TRegistry * Reg;
TStringList * List;
Reg=new TRegistry;
List=new TStringList;
int i;
AnsiString w;
Reg->RootKey=HKEY_LOCAL_MACHINE;
Reg->OpenKey("HARDWARE\\DEVICEMAP\\SERIALCOMM", false);
Reg->GetValueNames(List);
for (i=0;i<List->Count;i++)
{
w=Reg->ReadString(List->Strings).SetLength(3);
if (w.SetLength(3)=="COM")
   Form1->Port_Number->Items->Add(Reg->ReadString(List->Strings));
}
List->Free();
Reg->CloseKey();
Reg->Free();
Form1->Port_Number->ItemIndex=0;
delete Reg;
delete List;


Сейчас то же самое хочу сделать в Visual Studio 2008, но никак не получается разобраться с RegOpenKeyEx, RegEnumValue... Не поможете? :)
14
16 сентября 2010 года
Phodopus
3.3K / / 19.06.2008
Код переносить вряд ли будем, а что именно непонятно - поможем.
58K
16 сентября 2010 года
makavely
12 / / 14.09.2010
Спасибо, за желание помочь :)
В итоге, я сделал вот так:
 
Код:
array<String^>^ ports = SerialPort::GetPortNames();
ComboBox^ comboBox1 = gcnew ComboBox();
this->Controls->Add(comboBox1);
comboBox1->Items->Clear();
comboBox1->Items->AddRange(ports);

Потому что, когда писал, например:
 
Код:
HKEY hKey;
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,
          TEXT("HARDWARE\\DEVICEMAP\\SERIALCOMM"),
          0,
          KEY_QUERY_VALUE,
          &hKey)!=ERROR_SUCCESS)
MessageBox::Show("Ошибка", "Ошибка", MessageBoxButtons::OK, MessageBoxIcon::Exclamation);

при компиляции возникали ошибки:

error LNK2028: unresolved token (0A000010) "extern "C" long __stdcall RegOpenKeyExA(struct HKEY__ *,char const *,unsigned long,unsigned long,struct HKEY__ * *)" (?RegOpenKeyExA@@$$J220YGJPAUHKEY__@@PBDKKPAPAU1@@Z) referenced in function...

error LNK2019: unresolved external symbol "extern "C" long __stdcall RegOpenKeyExA(struct HKEY__ *,char const *,unsigned long,unsigned long,struct HKEY__ * *)" (?RegOpenKeyExA@@$$J220YGJPAUHKEY__@@PBDKKPAPAU1@@Z) referenced in function...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог