Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];

Вниз

Как работать с 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.033 c
1-1080802894
jenbond
2004-04-01 11:01
2004.04.18
проблемма с компиляцией проекта!


6-1076919117
Ламер
2004-02-16 11:11
2004.04.18
Можно ли получить IP компа, на котором запущен ServerSocket?


1-1080397559
TGrigory
2004-03-27 17:25
2004.04.18
Как сделать приподнимающуюся кнопку при наведении на нее мышой


3-1080051989
Gari
2004-03-23 17:26
2004.04.18
Переход по связан записям таблицы средством компоненты DBComboBox


14-1080424671
kdd
2004-03-28 00:57
2004.04.18
Delphi 8





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский