Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Cписок имен всех Com портов [D5, D6, Win95/98, WinME, NT4, Win2k, WinXP]


alexxxx ©   (2002-08-28 11:00:00) 

Здравствуйте. Как программно получить список имен всех Com портов, которые установленны на компьютере?
Т.е. что-то типа:
COM1
COM2
COM4

(т.к. COM3 не установлен)


Kaban   (2002-08-29 09:32:00) [1]

2 kosmach © (29.08.02 08:56)
Сильно, спустя сутки более чем достойный ответ
вы бы хоть предыдущие ответы почитали


kosmach   (2002-08-29 08:56:00) [2]


....
var
reg: TRegistry;
{...}
begin
{...}
reg := TRegistry.Create;
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.OpenKey("hardware\devicemap\serialcomm",false);
st := TStringList.Create;
reg.GetValueNames(st);
for i := 0 to st.Count -1 do begin
ComboBox1.Items.Add(reg.ReadString(st.Strings[i]));
end;
st.Free;
reg.CloseKey;
reg.free;
{...}


Под ХР и под 98 работает точно, под 2000 помоему тоже, а вообщето, этот код не мой, а нашел я его, когда мне это понадобилось, на этом сайте минут этак за 3. Так что в следующий раз можно сначала поискать.


Kaban   (2002-08-28 13:40:00) [3]

не знаю как в me, но в 98 работает


alexxxx   (2002-08-28 12:23:00) [4]

Для WinNT (2k, XP) согласен.
А для Win9x, Me?


Kaban   (2002-08-28 11:04:00) [5]

with TRegistry.Create do
begin
RootKey:=HKEY_LOCAL_MACHINE;
if OpenKey("HARDWARE\DEVICEMAP\SERIALCOMM",false) then
begin
Ss:=TStringList.Create;
GetValueNames(Ss);
for i:=0 to Ss.Count-1 do
begin
Port:=ReadString(Ss[i]);
Memo.Lines.Append(Port);
end;
Ss.Free;
CloseKey;
end;
Free;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо