Здравствуйте, Колобок В КВБ>посмотри CreateFile там помоему можно задавать 'COM1' 'COM2' 'COM3' 'COM4'...наверняка если нету вернет ошибку.
Ошибку вернет и если COM в данный момент используется (занят). Наверное все-таки лучше читать реестр. Да и вопрос сам надо бы поточнее сформулировать...
— свободные для использования порты?
— все физические порты?
— все порты включая виртуальные (логические)? Драйаером устройства можно ведь проэмулировать порт.