Кто-нибудь пробовал работать с портом на котором сидит модем после того как с пом.RasDial была установлена связь
и порт занят. CreateFile не предлагать — не катит, доступа к порту нет. Можно получить handle порта в
ф-ции RasCustomScriptExecute(Windows XP and Windows 2000)
или в RasSetEntryProperties в параметр lpbDeviceInfo всунуть нужные данные с пом. TAPI.
Есть ли еще подход?
Задачка в том, чтобы сменить инициализационную строку
модема вместо, скажем установленной
AT+CGDCONT=1,"IP","internet.beeline.ru"
установить
AT+CGDCONT=1,"IP","internet.mts.ru"
Здравствуйте, ZverA, Вы писали:
ZA>Кто-нибудь пробовал работать с портом на котором сидит модем после того как с пом.RasDial была установлена связь ZA>и порт занят. CreateFile не предлагать — не катит, доступа к порту нет. Можно получить handle порта в ZA>ф-ции RasCustomScriptExecute(Windows XP and Windows 2000) ZA>или в RasSetEntryProperties в параметр lpbDeviceInfo всунуть нужные данные с пом. TAPI. ZA>Есть ли еще подход? ZA>Задачка в том, чтобы сменить инициализационную строку ZA>модема вместо, скажем установленной ZA>AT+CGDCONT=1,"IP","internet.beeline.ru" ZA>установить ZA>AT+CGDCONT=1,"IP","internet.mts.ru"
Здравствуйте, Protey, Вы писали:
P>Здравствуйте, ZverA, Вы писали:
ZA>>Кто-нибудь пробовал работать с портом на котором сидит модем после того как с пом.RasDial была установлена связь ZA>>и порт занят. CreateFile не предлагать — не катит, доступа к порту нет. Можно получить handle порта в ZA>>ф-ции RasCustomScriptExecute(Windows XP and Windows 2000) ZA>>или в RasSetEntryProperties в параметр lpbDeviceInfo всунуть нужные данные с пом. TAPI. ZA>>Есть ли еще подход? ZA>>Задачка в том, чтобы сменить инициализационную строку ZA>>модема вместо, скажем установленной ZA>>AT+CGDCONT=1,"IP","internet.beeline.ru" ZA>>установить ZA>>AT+CGDCONT=1,"IP","internet.mts.ru"
P>Пользуйся, не совсем то, но ...
Здравствуйте, ZverA, Вы писали:
ZA>Спасибо ZA>Реестр менять к сожалению нельзя
Ага, я так понял, что прога запускается под юзером без прав Админа, после чего делает RASDial и на ходу меняет GPRS оператора.
Тут гимор такой — ПОСЛЕ установленя PPP канала закинуть AT команду модему в общем случее низзя, т.к. далеко не ВСЕ модемы это поддерживают, там мысль такая — есть пакеты данных типа [flag]data[flag], всё что между [flag] — есть IP/LCP данные, остальное отбрасывается как глюк линии связи.
Короче АТ команду подать можна — только нужно делать RasDial со своей RasDialCllback процедурой, и ловить
RASCS_ConnectDevice,
RASCS_DeviceConnected,
RASCS_AllDevicesConnected,
, закинуть требуемый стринг.
НО, ИМХО, это не будет работать на ВСЕХ модемах(кривые драйвера, кривой inf файл модема), надёжнее прямой записи в реесир нет ничего в Винде к сожалению
Здравствуйте, Protey, Вы писали:
P>Здравствуйте, ZverA, Вы писали:
ZA>>Спасибо ZA>>Реестр менять к сожалению нельзя
P>Ага, я так понял, что прога запускается под юзером без прав Админа, после чего делает RASDial и на ходу меняет GPRS оператора. P>Тут гимор такой — ПОСЛЕ установленя PPP канала закинуть AT команду модему в общем случее низзя, т.к. далеко не ВСЕ модемы это поддерживают, там мысль такая — есть пакеты данных типа [flag]data[flag], всё что между [flag] — есть IP/LCP данные, остальное отбрасывается как глюк линии связи.
P>Короче АТ команду подать можна — только нужно делать RasDial со своей RasDialCllback процедурой, и ловить P> RASCS_ConnectDevice, P> RASCS_DeviceConnected, P> RASCS_AllDevicesConnected,
P>Получить хендл COM порта здесь
, закинуть требуемый стринг. P>НО, ИМХО, это не будет работать на ВСЕХ модемах(кривые драйвера, кривой inf файл модема), надёжнее прямой записи в реесир нет ничего в Винде к сожалению
Спасибо, попробуем
Придется, видно перехватывать RegQueryValueEx
Здравствуйте, Plutonia Experiment, Вы писали:
PE>Здравствуйте, ZverA, Вы писали:
ZA>>Придется, видно перехватывать RegQueryValueEx
PE>А зачем эту функцию перехватывать ?
Здравствуйте, Plutonia Experiment, Вы писали:
PE>Здравствуйте, ZverA, Вы писали:
ZA>>Придется, видно перехватывать RegQueryValueEx
PE>А зачем эту функцию перехватывать ?
А чтобы подменить строку настройки
Здравствуйте, ZverA, Вы писали:
ZA>>>Придется, видно перехватывать RegQueryValueEx
PE>>А зачем эту функцию перехватывать ? ZA>А чтобы подменить строку настройки
А что мешает заранее подставить эту строку инициализации ?
Здравствуйте, Plutonia Experiment, Вы писали:
PE>Здравствуйте, ZverA, Вы писали:
ZA>>>>Придется, видно перехватывать RegQueryValueEx
PE>>>А зачем эту функцию перехватывать ? ZA>>А чтобы подменить строку настройки
PE>А что мешает заранее подставить эту строку инициализации ?
Чтобы при каком-нибудь crash'e виндов юзеру не пришлось восстанавливать
то, что у него было