Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Yahoo!

Зависание при подключении к COM модему

17.04.2010, 01:07. Показов 764. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Форумчане, прошу помогите...

Есть usb-модем опсосов HUAWEI "проецируется" на COM7
Так вот написал программу, которая соединяется с модемом и позволяет мне звонить или отправлять СМС с него, но вот проблема, программа зависает когда я подключаюсь к модему, ЕСЛИ я его НЕ "Опросил"(через диспетчер устройств) или НИ РАЗУ не выходил в интернет, ДО ТОГО как вставил модем в порт. Если это сделать то ОНА ПОЛНОСТЬЮ РАБОТАЕТ.

Привожу кусочек проблемной части программы
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
void OpenPort()
{
    if (hCom != INVALID_HANDLE_VALUE)
    {
        ClosePort();
        Sleep(300);
    }
 
    GetDlgItemTextA(hWnd, IDC_COMBO1, ModemPort, 6);
 
    char ComPort[10];
    lstrcpyA(ComPort, "\\.\\\\");
    lstrcatA(ComPort, ModemPort);
 
    hCom = CreateFileA(ComPort, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
    
    if (hCom == INVALID_HANDLE_VALUE) SetDlgItemTextA(hWnd, IDC_EDIT5, "failed to open port");
    else  
    {
        SetDlgItemTextA(hWnd, IDC_EDIT5, "port successfully opened");
        
        hThread = CreateThread(0, 0, ReadThread, (LPVOID)hWnd, 0, 0);
 
        DCB dcb;
        memset(&dcb, 0, sizeof(dcb));
        dcb.DCBlength = sizeof(dcb);
        MessageBoxA(0, "Щас может зависнуть :(\nЧтобы этого не произошло:\
            \n Войдите хоть раз в интернет либо опросите модем ч/з диспетчер устройств.",
            "Bug", MB_OK | MB_ICONASTERISK );
 
        // При вызове GetCommState она и зависает...
 
        if(!GetCommState(hCom, &dcb)) SetDlgItemTextA(hWnd, IDC_EDIT5, "Error of get data about port");
        // Если закоментить GetCommState то прожка зависнет на SetCommState и т.д...
        dcb.BaudRate = CBR_57600; //460800;
        dcb.ByteSize = 8;
        dcb.Parity = NOPARITY;
        dcb.StopBits = ONESTOPBIT;
 
        if (SetCommState(hCom, &dcb)) SetDlgItemTextA(hWnd, IDC_EDIT5, "Configuring OK");
        else SetDlgItemTextA(hWnd, IDC_EDIT5, "Configuring Error");
    }
    return;
}
знаете как это можно исправить? Или мне искать мануалы на английском, которых в открытом доступе скорее всего не будет Если они есть то можно и на них ссылочку...
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.04.2010, 01:07
Ответы с готовыми решениями:

Пропадает интернет при подключении второго компа к модему
Доброго времени суток у меня такая проблема есть модем к нему подключено ПК и ноутбук через кабель раньше работало все нормально но теперь...

Зависание окна при подключении клавиатуры
Здравствуйте! Сталкиваюсь с подобным впервые. Поскольку абсолютный профан во всем этом, надеюсь найти помощь на форумах. Приобрел...

Зависание кнопки при подключении к серверу
Работаю с Socket & Swing. Кнопка зависает, когда на нее нажимаешь. Я как понимаю, нужно сделать многопоточность, но не могу понять как... ...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.04.2010, 01:07
Помогаю со студенческими работами здесь

Зависание приложения при подключении другого приложения к нему
Написал сервер и клиент на консоли, все работает. На windows forms появляется проблема. private void bttnBeginConnection_Click(object...

Сделать так чтобы при подключении нулевого порта выполнялся один цикл кода а при подключении другого - другой
Как сделать так чтобы при подключении нулевого порта выполнялся один цикл кода, а при подключении другого другой. И вообще возможно ли это...

Как создать беспроводное подключение между ПК, подключенного через сетевой кабель к модему, и ноутбуком, подключенным к этому же модему через Wi-fi?
На обоих машинах семерка. И как открыть в этой сети доступы к локальным дискам, на обоих машинах. Искал в гугле, нашел в роде бы как......

Пропадает интернет при подключений роутера к модему
Доброго времени суток! У меня такая проблема, есть модем, и 4 роутера в сети. Раньше все работало исправно, но после того как перенесли...

Ошибка при подключении "В удаленном подключении отказано"
Что может означать следующая ошибка? Пороль и имя правильны! Еще появляется такое сообщение


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru