ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
22 ноября
1547 Топик полностью
John (19.12.2003 07:10, просмотров: 1) ответил Xpюн Mopжoв на Чтобы узнать у Windows какие COM порты доступны нужно пытаться их открыть с помошью CreateFile? Другие способы есть?
Ответ: Я давно это делаю, других способов не знаю.
Делаю примерно так (Дельфи)

P := StrNew ( ' ' );
QAvailCOMMPorts := 0;
For i := 1 to QuantCommPorts do
begin
AvailCOMMPorts [ i ] := false;
Str ( i : 0, S );
S := 'COM' + S;
P := StrPCopy ( P, S );
id := CreateFile ( P, GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, 0);
If id <> INVALID_HANDLE_VALUE
then begin
AvailCOMMPorts [ i ] := true;
QAvailCOMMPorts := QAvailCOMMPorts + 1;
CloseHandle ( id );
end;
end;