![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
COM порт [D6, WinXP]
fantomas © (2004-04-04 03:00:00)Реально ли из своей проги читать данные с COM порта, с которым уже работает другая программа? Спасибо.
tesseract (2004-04-14 10:03:00) [21]Как писать дрова под Win????? ну как, можно MSDN почитать, там есть DDK с примерами дров.
Можно зайти на WASM.RU - если ASM не претит. Если не тянет - можно почитать статьи о перехвате
API функций - (если нужная прога через CreateFile в порт пишет). Это слишкомбольшая тема.
GanibalLector (2004-04-14 00:05:00) [22]2 Германн © (13.04.04 01:36) [20]
Не,в родстве с Михаилом Сергеевичев ЗАМЕЧЕН НЕ БЫЛ!!!
По поводу остального,ну и как работать с vxd?Просто я не встречал ВООБЩЕ нигде этого.Посоветуйте что-ли литературу или исходничек(на худой конец :) ).
2 tesseract © (13.04.04 10:01) [21]
Вопрос тот-же,как писать дрова???Литературу или сабж может видели?И еще,PortMon это Ж просто программа,а не дрова.Но у них все получилось.
Кстати,я тут взглянул на список сервисов,так вот, там присутствует PortMon,млин.Правда он скрыт,в закладке Services его нет.
tesseract (2004-04-13 10:01:00) [23]Перехват значений подающихся на COM - порт возможен, но только если идёт запись через функции API. следующий выход - написаний собственных дров!
Германн (2004-04-13 01:36:00) [24]2 GanibalLector © (12.04.04 23:59) [19]
Имхо, не прав. Во-первых исходники когда-то были, тут еще раз имхо. Во-вторых не вижу проблем во взаимотношениях С, Дельфи и vxd. Ни одно из перечисленных трех не противоречит двум оставшимся.
Уж не родственник ли ты Михал Сергеичу?
"вылаживал" и "ложат и ложат" - уж больно родственные огрехи языка! :-)
GanibalLector (2004-04-12 23:59:00) [25]2 Германн © (12.04.04 02:10) [18]
>Но, увы, насколько я знаю, исходники - уже не публикуются.
Насколько я знаю,СИСИНТЕРНАЛС никогда их и не вылаживал.
Хуже всего то,что PORTMON написан на Сях.И,даже при всем желании на Delphi это не реализовать т.к. там все через vxd.Или я не прав?
Германн (2004-04-12 02:10:00) [26]2 GanibalLector © (11.04.04 02:23) [17
Ну, portmon, вроде как и не претендует на...?
А вот "технология драйвера фильтра", которую он использует - как раз претендует. Но, увы, насколько я знаю, исходники - уже не публикуются. Имхо.
GanibalLector (2004-04-11 02:23:00) [27]>>>Ihor Osov'yak
>но и менять данные на лету
Как???Вроде заглянул во все дыры(меню в смысле :) ) PortMon и опять нифига не нашел.
Может это из-за версии???Какую надо ставить???И как менять на лету???
Ihor Osov'yak (2004-04-10 15:31:00) [28]Штатно открыть не получится, даже если программа, первой открывшая порт, позволяет шаринг - см. исходники драйверов ком-портов, которые идут в качестве семплов с DDK. Драйвер сам следит за тем, чтобы порт был открыт только "единыжды".
PortMon использует технологию драйвера - фильтра. По этой технологии можно не только мониторить (что собственно и делает утилита от сисинтерналс), но и менять данные на лету. Что никто вам не запрещает сделать самому :-).
Кроме драйвера фильтра можно еще использовать перехват соотв. апишных функций, но это немного криво, так как недокументировано. Хотя тогда не нужно связываться с режимом ядра.
Естественно, самый простой вариант - см. [12] NikB, также не обязательно виртуальные - лишь бы физических хватило :-).
GanibalLector (2004-04-10 00:45:00) [29]>>>NikB
Спасибо,ща я попробую!!!
Германн (2004-04-09 22:22:00) [30]2 chek (09.04.04 19:25) [13]
А с параметром OPEN_EXISTING не подходит тоже? :)))
chek (2004-04-09 19:25:00) [31]есть прога на http://www.aggsoft.com/Advanced Serial Port Monitor так вот она вешается на порт шпионом (провда лекарство требует ато через 15 дней умирает). Если сильно надо в твоей проге то попробуй отловить Api которые она использует.
ЗЫ Внимательно изучаем 5 параметр функции//
Все поняли че я хотел сказать а CreateFile(даже с параметром только для чтения) не подходит
NikB (2004-04-09 12:16:00) [32]>>> GanibalLector ©
Когда мне приходится "перехватывать и изменять значения пришедший из порта" ползую виртуалньи порт ( http://www.virtualserialport.com/ ).
Я делаю так: из физического порта (напр. Com1) моя прога получает что-то (напр. "AAAA"), а потом изменяет и посилает его ("BBCCCDDD") на вируалнии порт (напр Com5). Виртуалнии порт "связан" виртуално с второй виртуалнии порт (напр. Com6). Так мой компютер получает на Com6 "мониторить и менять" из Com1.
А на Com6 может ждать моя или какая-та другая програма.
jack128 (2004-04-09 12:13:00) [33]
> попробуй не CreateFile (эта функция создает новый)
Что новый? Ком порт?? Круто!!! :-)
ЗЫ Внимательно изучаем 5 параметр функции
chek (2004-04-09 09:29:00) [34]попробуй не CreateFile (эта функция создает новый) а, openFile (вроде так) я её нашол когда модуль шерстил. Если че у меня и структуры описание есть.
MegaVolt (2004-04-08 09:39:00) [35]Если написать свой драйвер то запросто можно и мониторить и менять. Возможно эти проги так и делают. Хотя наверное можно как то ловить обращения к самому драйверу.
GanibalLector (2004-04-08 03:19:00) [36]Народ,как найти tesseract???
Он говорит,что можно перехватывать и изменять значения пришедший из порта.Ну,с перехватом понятно,А КАК ИЗМЕНЯТЬ???
GanibalLector (2004-04-05 22:12:00) [37]2tesseract
Что-то ты приувеличил на счет изменения значений!!!
Впервые слышу ,что PortMon позволяет изменять то,что пришло из порта.Ты случаем не ошибся???
NikB (2004-04-05 21:38:00) [38]PortMon делает monitoring всех команд к порту (напр. перемена скорости и/или количество стоп битов).
Очень харошая програма, мне тоже интересно как она сделана :)
tesseract (2004-04-05 09:47:00) [39]Смотреть что послали да, можно перехватывать и изменять значения. Но UART микросхема реализует RS232 полудуплексный порт, не поддерживающий сети устройств. Возможно профконтроллеры такое и позволят, но не факт.
GanibalLector (2004-04-05 02:45:00) [40]Pat прав!!!
Прога называется PortMon.
Коректно работает только с W2k(и выше),т.е. показывает что посылается\принимается.В Win9X такое явление отсутствует(ну,пишет что принял,а самого значения нет:( )
Вот такие вот дела...