powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как апишками проверить наличие модема на com-порте?
17 сообщений из 17, страница 1 из 1
Как апишками проверить наличие модема на com-порте?
    #32682661
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сабж, собственно.
...
Рейтинг: 0 / 0
Как апишками проверить наличие модема на com-порте?
    #32682785
Александр Спелицин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Послать туда
AT#10#13
если придет OK, то модем есть, если ничего не придет, значит модема нет.
...
Рейтинг: 0 / 0
Как апишками проверить наличие модема на com-порте?
    #32682954
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В таком случае, как принять ответ?
...
Рейтинг: 0 / 0
Как апишками проверить наличие модема на com-порте?
    #32682971
Александр Спелицин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вызвать ReadFile().
...
Рейтинг: 0 / 0
Как апишками проверить наличие модема на com-порте?
    #32682991
MegaDimon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ReadFile разве не подвиснет если не будет ответа от модема ???
...
Рейтинг: 0 / 0
Как апишками проверить наличие модема на com-порте?
    #32683018
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно примерчик всего этого?
...
Рейтинг: 0 / 0
Как апишками проверить наличие модема на com-порте?
    #32683092
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как апишками проверить наличие модема на com-порте?
    #32685534
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно без тынцев? Тем более на яндекс. Яндексом я и сам пользоваться умею - куча мусора и дохлых ссылок. Если бы я где-то нашел нормальный пример использования ReadFile в применении к com-портам, то не постил бы сюда мольбу о помощи.
...
Рейтинг: 0 / 0
Как апишками проверить наличие модема на com-порте?
    #32685545
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуите разобраться с Microsoft communication control
может пригодиться
...
Рейтинг: 0 / 0
Как апишками проверить наличие модема на com-порте?
    #32685551
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Написано же - АПИШКАМИ - это принципиально.
...
Рейтинг: 0 / 0
Как апишками проверить наличие модема на com-порте?
    #32685660
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну тогда лови мои потуги
извеняюсь за язык это фокс но чего уж есть

#DEFINE OPEN_EXISTING 3
#DEFINE GENERIC_READ 0x80000000
#DEFINE GENERIC_WRITE 0x40000000
#DEFINE FILE_FLAG_OVERLAPPED 0x40000000
#DEFINE INVALID_HANDLE_VALUE -1

LOCAL hPort, lnErr
hPort = CreateFile(lcPort, GENERIC_READ+GENERIC_WRITE , 0,0,;
OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0)
IF hPort = INVALID_HANDLE_VALUE
lnErr = GetLastError()
RETURN "Error " + LTRIM(STR(lnErr)) + ". " + GetErrorMessage(lnErr)
ELSE
myStr='AT'+CHR(13)
ss=WriteFile(hPort,@myStr,5,1,0)
= CloseHandle(hPort)
RETURN "Ok"
ENDIF
...
Рейтинг: 0 / 0
Как апишками проверить наличие модема на com-порте?
    #32685880
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сенкс, а пример использования ReadFile есть? А то как я не извращался, ничего не получается.
...
Рейтинг: 0 / 0
Как апишками проверить наличие модема на com-порте?
    #32685897
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вернее вот что получается:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Public Function CheckModem(ComPort As Integer) As Boolean
Dim pCOM As Long
Dim ret As String
    pCOM = CreateFile("COM" &  4 , GENERIC_READ Or GENERIC_WRITE,  0 &,  0 &, OPEN_EXISTING, &H80,  0 &)
    If pCOM = - 1  Then
        CheckModem = False
        Exit Function
    End If
    WriteFile pCOM, "AT#10#13",  8 ,  8 ,  0 
    ret = Space( 2 )
    ReadFile pCOM, ret,  2 ,  2 ,  0    'здесь намертво виснет 
    CloseHandle pCOM
End Function

Видимо, я не прав в параметрах WriteFile и ReadFile
...
Рейтинг: 0 / 0
Как апишками проверить наличие модема на com-порте?
    #32686073
Александр Спелицин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрите в MSDN-е раздел Communications.
До того, как Вы будете работать с портом, его еще нужно определенным образом настроить. См. функции в этом разделе.
Если нужен готовый пример, то среди примеров есть пример реализации теримнальной программы. Правда на C, но ничего, разберетесь.
Ищите файлы tty.c, tty.h
...
Рейтинг: 0 / 0
Как апишками проверить наличие модема на com-порте?
    #32686987
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таки никто не знает. Тем не менее, всем спасибо за помощь. Будем копать.
...
Рейтинг: 0 / 0
Как апишками проверить наличие модема на com-порте?
    #32687203
Александр Спелицин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyТаки никто не знает. Тем не менее, всем спасибо за помощь. Будем копать.
Знать то знают. Только читать лекции по программированию ком-портов здесь никто не собирается - слишком долго клаву топтать придется :).
Я указал Вам 2 возможных направления. Одно теоретическое-фундаментальное, а второе практическое, т.е. с примером.

В интернете немало статей по этой тематике, только ссылок по памяти не помню.
Так что учитесь искать самим. И читайте MSDN.
:)
...
Рейтинг: 0 / 0
Как апишками проверить наличие модема на com-порте?
    #32700280
MegaDimon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
ReadFile pCOM, ret,  2 ,  2 ,  0   'здесь намертво виснет
Ясень пень повиснет! Точнее будет ждать пока чо-то не прийдет с порта. Раз ждет, значит модем не ответил, или ответил, но не столько сколько хотел ты. Сделай лучше модуль на Cи. и подключай его в VB.

Кстати а зачем тебе определять модем на COM порту?
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как апишками проверить наличие модема на com-порте?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]