Главная страница
    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.039 c
1-1080624061
Rio
2004-03-30 09:21
2004.04.18
Формы


3-1079963096
Nikolay M.
2004-03-22 16:44
2004.04.18
Распространение D4 + ClientDataSet


1-1080547390
Sauron_ua
2004-03-29 12:03
2004.04.18
Текстури в DirectX


3-1079604460
bushmen
2004-03-18 13:07
2004.04.18
update openrowset


7-1077320098
Electon
2004-02-21 02:34
2004.04.18
Использование чужой DLL





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский