0 голосов
спросил от в категории VB6
Если вам действительно нужно сделать это с помощью VB6, найдите в Интернете решения, используя что-то вроде «vb6 enumerate serial ports» в качестве поискового запроса.

Не пытайтесь делать это сами. Есть много вещей, которые можно наблюдать, например, имена портов с цифрами выше 9 и что CreateFile выдается не только не для существующих портов, но и для существующих портов, которые фактически открыты (используются).

Единственный надежный метод, помимо метода .NET SerialPort.GetPortNames , используется с помощью API установки Windows. Но я не знаю, использовал ли кто-то это с VB6.

[EDIT: Примечания по коду, отправленному как комментарий]
Цитата:
каждый раз, когда я запускаю программу, когда я выбираю com-порт, который доступен, также показывает, что порт не открывается. pls configure
Это потому, что это всегда происходит из-за неправильного режима обмена:
hCOM = CreateFile("COM" & iPortNum & "", 0, FILE_SHARE_READ + FILE_SHARE_WRITE, _ sec, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0)
hCOM = CreateFile("COM" & iPortNum & "", 0, FILE_SHARE_READ + FILE_SHARE_WRITE, _ sec, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0)
# [
hCOM = CreateFile(".COM" & iPortNum, GENERIC_READ + GENERIC_WRITE, 0, _ ByVal 0&, OPEN_EXISTING, 0, 0&)
#]:
Для ресурсов связи параметр dwCreationDisposition должен быть OPEN_EXISTING, параметр dwShareMode должен быть равен нулю (эксклюзивный доступ), а параметр hTemplateFile должен быть NULL. Доступ к чтению, записи или чтению/записи может быть указан, и дескриптор может быть открыт для перекрытого ввода-вывода.


Чтобы указать номер порта COM более 9, используйте следующий синтаксис: «.COM10». Этот синтаксис работает для всех номеров портов и оборудования, которые позволяют указывать номера COM-портов.
Так что это должно быть:
hCOM = CreateFile(".COM" & iPortNum, GENERIC_READ + GENERIC_WRITE, 0, _ ByVal 0&, OPEN_EXISTING, 0, 0&)
[/ EDIT]

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.

Категории

Добро пожаловать на сайт DraftingCode Q&A, где вы можете задавать вопросы и получать ответы от других членов сообщества.

Связанных вопросов не найдено

...