Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Чтение данных из COM-порта [D6, D7, Win2k]


Glukalex ©   (2003-10-09 17:07:00) 

Привет всем!!
Есть такая задача:к сом-порту подключено устройство и есть софт который с ним работает.Как можно программно подключиться к порту и прочитать данные ,которые передаются.
Стандартными способами не получается , т.к. порт открыт и к нему нет доступа.
Помогите плз...


Анонимщик   (2003-10-20 15:50:00) [1]

MadGhost ©
Считай, что тебя уже пинают. Не понимаешь почему - попробуй поставить хук.


MadGhost   (2003-10-20 14:50:00) [2]

не ужели все так сложно, ведь все что передается в Windows передается в виде сообщений, которые можно отлавливать, Hooks и т.д. а выделить необходимые, по моему дело не сложное, хотя я могу ошибаться, прошу сильно не пинаться :((


Анонимщик   (2003-10-20 12:00:00) [3]

Что-то мне непонятно, зачем тебе исходники такого драйвера? Скажи зачем, и я, может, сам найду или совет дам. Кажется, и без исходников можно обойтись.


Borgir   (2003-10-20 11:40:00) [4]

Поищи где-то есть компонент TVicComm. Я думаю он тебе поможет. Он позволяет смотреть данные, передаваемые сторонней программой в порт и обратно.


mzu   (2003-10-20 09:51:00) [5]

писать вам драйвер фильтра не переписать :)


DC-AC   (2003-10-20 07:15:00) [6]

Glukalex : да нет, никакой разницы нет, просто у меня было одно готовое решение... Ну да ладно, если ты такой "секретный" и не хочешь честно сказать, что за софт "ломаешь", забудь о б этом и прислушайся к NightAngel.
Удачи !


NightAngel   (2003-10-17 17:11:00) [7]

> Glukalex (17.10.03 14:00) [5]
> это заманчиво,но я по всему инету не смог найти исходника ни на С, ни на Делфи ...Мне бы исходник этого драйвера...

А в чём проблема? Почему-бы самому не написАть? Или трудности в том, что если использовать это решение, то тогда только прямая интервенция в саму систему (установка драйвера фильтра) что для Вас, судя по тому, что Вам нужны исходники, просто нереально?

Вот ещё вариант (не знаю насколько это для Вас будет допустимым): Для перехвата обращений к портам в/в используется регистр DR7 (управляющий регистр), в котором (если установлен флаг DE в CR4) поля R/W0 - R/W3 (соотв. отладочн. регистрам DR0-DR3) - отвечает за след. действия:
значение: 10 - breakpoint на обращение к портам в/в.


Glukalex   (2003-10-17 16:32:00) [8]

to DC-AC
Неужели имеет значение что за устройство и на какой скорости работает?
Пусть это будет тот же модем...какая разница


Glukalex   (2003-10-17 16:30:00) [9]

to Fredericco
мне не нельзя никуда подпаиваться,у меня все комы заняты....я могу только программно...


DC-AC   (2003-10-17 16:21:00) [10]

Что за устройство ? На какой скорости порта работает ?


Fredericco   (2003-10-17 14:13:00) [11]

to (Guru)"Glukalex" - чем мой способ и Пашин не подошел?


Glukalex   (2003-10-17 14:00:00) [12]

to (lamers)"pasha_676" & "Fredericco" - не знаешь не лезь!!!
to "Лёша" - спасибо клнечно,но это форум по делфи,а не по поиску готового софта....
to "Анонимщик" - это заманчиво,но я по всему инету не смог найти исходника ни на С, ни на Делфи ...Мне бы исходник этого драйвера...


Fredericco   (2003-10-10 11:57:00) [13]

Нужно 3 СОМ порта.
Береш ноль-модем.
СОМ1 через ноль-модем с СОМ2.
В СОМ3 подключаешь устройство.
Пишешь прогу, которая открывает СОМ2 и СОМ3.
Все, что пришло в один порт прога отправляет на другой.
Софт пусть открывает СОМ1.


Лёша   (2003-10-09 20:37:00) [14]

см. http://www.sysinternals.com./ntw2k/freeware/portmon.shtml


Анонимщик   (2003-10-09 19:37:00) [15]

Вариант - поставить драйвер виртуального ком-порта и использовать его как транзитный: твоя программа должна читать данные из настоящего порта, передавать их в виртуальный (скажем, пятый), оттуда они идут в шестой, с которым работает родной софт. Он же будет писать данные в этот же шестой, они будут попадать к тебе в пятый, ты их оттуда читаешь и кладешь в настоящий.


pasha_676   (2003-10-09 17:52:00) [16]

Аппаратно. Подпаяться от этого порта ко второму и читать.


Наверх

Титульная страница Поиск, карта сайта Написать письмо