Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.18;
Скачать: CL | DM;

Вниз

Как работать с LPT под любой WIN?   Найти похожие ветки 

 
-=DeMoH=- ©   (2004-02-07 16:29) [0]

Подскажите, как можно организовать работу с LPT портом для управления чего-либо так, чтобы программа работала и под     WIN-9X, и под WIN-2000/XP?


 
-=DeMoH=- ©   (2004-02-08 18:18) [1]

Ну неужеди никто не знает, чем можно заменить скажем
asm { mov dx, 379h;
     mov ax, 10001000b;
     out dx, ax };
для того, чтобы программа работала не только под Windows-98, но и под Windows-2000 и ей подобным?


 
N169   (2004-02-08 21:43) [2]

Способ 1 ("Правильный"):

Для систем старше Windows 98 и всех NT-based можно написать legacy-драйвер, который будет делать обращение к порту через вызов соотв. ф-и hal.dll (WRITE_PORT_UCHAR() или READ_PORT_UCHAR()). Приложение, чтобы обратиться к порту, должна будет вызывать этот драйвер через ф-ю DeviceIoControl().

Для Windows 95/98 также сработает фрагмент типа того, что вы привели. Просто делайте проверку типа системы при старте.

Используйте этот путь для получения стабильного результата.

Способ 2 ("Неофициальный"):

Есть некий способ выполнить часть кода приложения в режиме ядра.
Способ основан на модификации LDT/GDT.

Поищите в сети архивчик callgate.zip и книгу
MATT PIETREK "Windows 95 System programming SECRETS".
Там есть вся необходимая информация.

Этот путь довольно скользкий, но я видел приложения, которые его используют. Например, софт к программатору PICPROG.

Способ 3 ("самый Дельфийский"):

Найдите и используйте (готовый) сторонний компонент для обращения к портам.

Поищите по названиям: WinIO, unio, directport, lptwdmio и прочая, прочая. Можете зайти на LPT port central:
http://www.lvr.com/parport.htm
Там много полезной информации по вашему вопросу.

Вот такие дела.


 
Dmitriy_G ©   (2004-02-09 09:24) [3]

N169, здорово написанно, Распечатаю и повешу на стену как руководство к действию ;)
Правильный способ позволяет, самому  отвечать за свое произведение. А не ковырять в носу, и смотря в пол гундосить, что она якобы работало ;)
-=DeMoH=- Начинай с третьего способа, второй пропускай. Потом прыжок и ты на вершине. И ты профессионал ;)
А третий способ, он работает, но боязно как-то )))


 
pavel_guzhanov ©   (2004-02-09 09:34) [4]

я уже в этом форуме неоднократно советовал пользоваться WinIO. Работает подо всеми виндами, несложно в использовании. Мыль, пришлю библиотеку, и мой рабочий пример. Работает (проверено) под 98, 2000 и XP


 
-=DeMoH=- ©   (2004-02-09 18:48) [5]

Ну я согласен, только кидай мне пример на demoh@list.ru, а то мой основной адрес упал (со стола)...



Страницы: 1 вся ветка

Текущий архив: 2004.04.18;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.021 c
1-1080586827
Gero
2004-03-29 23:00
2004.04.18
DragAndDrop в TTreeView


8-1072194128
VolKan
2003-12-23 18:42
2004.04.18
Как узнать свойства видеофайла


3-1079603537
Volodya_
2004-03-18 12:52
2004.04.18
DBTreeView


1-1080624061
Rio
2004-03-30 09:21
2004.04.18
Формы


1-1080473406
Step[B.M.]
2004-03-28 15:30
2004.04.18
Не получается сграбить в Bitmap визуальный компонент - усложняем