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

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

Как писать биты напрямую в LPT в WinXP? [D7, WinXP]


CJ Shark ©   (2004-10-07 09:24:00) 

Уважаемые мастера, мне понадобилось выставлять определённые биты (0 или 1) на определённых выводах порта LPT в Win XP.

делаю:

procedure WritePort(Port, bt: word);
asm
 mov AX,bt
 mov DX,Port;
 out DX,AX
end;

В Win 98 всё работает, но в WinXP защита от прямой записи в порт. И Delphi ругается, что out DX,AX - привелегированная инструкция!
Подскажите как быть?


Axer   (2004-10-07 10:46:00) [1]

Нашел очень полезную библиотеку DlPortIO говорят умеет в LPT под XP писать. Удачи.


Axer   (2004-10-07 10:06:00) [2]

У меня такая же проблема. Мне кажется тут надо через CreateFile('LPT1'....) а потом WriteFile(...):

handle:=CreateFile('LPT1', GENERIC_READ or GENERIC_WRITE,0,nil,OPEN_EXISTING,FILE_FLAG_OVERLAPPED,0);


Наверх

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