![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с портами в 2000 винде.
KEagle © (2003-01-04 13:31:00)Меня интересует вопрос работы с LPT портом в D5, D6 и ОС win2000.
koka (2003-01-20 16:30:00) [1]Ни х р е н а все гораздо проще!
Koster (2003-01-11 09:06:00) [2]хех был компонент такой... SADirectPort.. все работало, но КАК!.. каждый раз создавался файл (!) в каталоге приложения, регистрировался как сервис, запускался.. при завершении приложения сервис убивался и удалялся с диска. Весь этот изврат вместе с файлом был закомпилирован в DLL. Я думаю вы уже догадались что был за файл - giveio.sys. Кто не знает, этот файл, будучи запущенным как сервис, позволяет любому приложению, обратившемуся к виртуальному устройству \\.\giveio работать с портами в Win NT 2000 XP полностью аналогично 9x, т.е. asm вставками.. вот примерчик приложения:
var
hFile: THandle;
begin
hFile := CreateFile( "\\.\giveio", GENERIC_WRITE, 0, nil, OPEN_EXISTING, 0, 0);
if hFile = 0 then begin
ShowMessage("CreateFile(\\.\giveio)=FALSE");
Exit;
end;
CloseHandle(hFile);
asm
MOV DX, 0378H
MOV AL, $AA //data - то, что послать.
OUT DX, AL
end;
То есть один раз в начале вызывается CreateFile / CloseHandle и сколько угодно раз - вставка на asm"е.
Как устанавливать/удалять сервис giveio - см. http://g3af8.narod.ru/LPT/giveio_inst.zip
Там же полный пример для работы с LPT - http://g3af8.narod.ru/LPT/Project1.zip(чья-то малость переделанная под работу с giveio прога).
DC-AC (2003-01-05 09:31:00) [3]KEagle : тебе каким способом, первым или вторым ? Что на другом конце LPT-порта "висит" ?
gek (2003-01-05 08:02:00) [4]http://www.maxivamoto.narod.ru/DelphiComponents/portsmodems.htm
Я думаю разберещься
KEagle (2003-01-05 07:15:00) [5]Можно исходник передачи в lpt порт передачи ... ну например байта 10101010 по нажатию кнопки.
Слесарь Матерящийся (2003-01-04 14:27:00) [6]1. CreateFile(), WriteFile()
2. Достучаться до регистров -- DLPortIO, LPTwdmIO, UNIO -- есть много хороших компонентов...