Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   LPT-порт тоже не работает в XP! (http://forum.oszone.net/showthread.php?t=85865)

zl3p 24-06-2007 20:44 603436

LPT-порт тоже не работает в XP!
 
Ужас, моя программа робота-убийцы для струйных принтеров не работает под XP. Дело в том, что я начал писать её в 90-х, а тем временем человечество подсело под XP и я не знаю что теперь делать... Подскажите, плиз, как устранить этот недостаток семейства NT.

SimSim 25-06-2007 10:17 603631

zl3p Ну Вы даёте! Название темы одно, а вопрос совсем другой. Совсем непонятно что Вы пытаетесь спросить.

zl3p 25-06-2007 17:36 603851

Чего тут может быть непонятного? Мне нужно знать чем пропатчить виндовс-xp, чтобы моя программа могла нормально работать с LPT-портом.

SimSim 25-06-2007 21:15 603953

zl3p
Цитата:

Мне нужно знать чем пропатчить виндовс-xp, чтобы моя программа могла нормально работать с LPT-портом.
А зачем патчить, ХР и так нормально работает с LPT-портами. По-крайней мере за всё время работы с этой ОС я никаких недостатков или несовместимостей не замечал. Что за специфическая программа?

zl3p 25-06-2007 23:55 604000

Цитата:

А зачем патчить, ХР и так нормально работает с LPT-портами.
Ничего она нормально не работает!
Я отправляю сигналы в порт 0x378 - и что, вы думаете, происходит... НИЧЕГО
Программа вполне обычная и компилировалась 16-битным tasm.

Vadikan 26-06-2007 00:08 604004

zl3p
Возможно, это одна из мер защиты от роботов-убийц струйных принтеров. Придется, видимо, переписывать программу. Переношу в программирование.

zl3p 26-06-2007 02:01 604026

Цитата:

Придется, видимо, переписывать программу.
Лично мне бы больше понравился вариант "А почему бы Майкрософту не переписать их ОС.."
Ну да ладно. Могу и я переписать, конечно, или по крайней мере внести некоторые изменения в свою прогу, но только если не большие. Только вот не знаю КАК и с чего начинать то... Кстати, программа предназначена вовсе не для того, чтобы убивать принтеры, но это сейчас не имеет значения.

xoomer 26-06-2007 02:10 604028

zl3p
А может просто-напросто отключен LPT порт в BIOS'е?

DillerInc 26-06-2007 02:44 604031

Цитата:

Возможно, это одна из мер защиты от роботов-убийц струйных принтеров.
...именно.
Windows NT не даст просто так обращаться к аппаратному оборудованию из режима пользователя.Без драйвера тут походу никак не обойтись.
Есть вариант драйвера giveio.sys,который может дать определённому процессу право свободно обращаться к любым портам из режима пользователя.Пример можно рассмотреть в одной из статей автора Four-F.
И я думаю,что про 16-битный TASM в WinNT можете забыть.

zl3p 26-06-2007 10:10 604088

Ага, за ссылку спасибо, почитаю как нибудь.
Так значит с 16-битные приложениями никак не получится, даже если в Си писать? Просто в borland С++ 5.02 я знаю только одну функцию вывода в порт - это outport() библиотеки dos.h. А в инете нашёл только пример примерения драйвера giveio.sys на VC с функцией _outp(), а мой С++ не знает такую.

xoomer 26-06-2007 12:39 604172

zl3p
Цитата:

Так значит с 16-битные приложениями никак не получится, даже если в Си писать?
Даже в Си. А вы что никогда не видели окошко блокировки 16-битной подсистемы Windows.
Цитата:

Просто в borland С++ 5.02 я знаю только одну функцию вывода в порт - это outport() библиотеки dos.h. А в инете нашёл только пример примерения драйвера giveio.sys на VC с функцией _outp(), а мой С++ не знает такую.
Отнюдь, этот компилятор позволяет создавать любые приложения под Win32, только ели Вы не будете использовать dos.h и ей подобные.
Цитата:

мой С++
Это старый-добрый C++ for DOS?

DillerInc 26-06-2007 14:08 604223

zl3p
Насколько я понял,Вы знакомы с ассемблером,раз компилировали в TASM'е.
Four-F использует для этого пакет MASM32.Между этими пакетами есть некоторые различия,но они,на мой взгляд,незначительные.
Однако главное заключается в том,что masm очень хорошо снабжён всякими include- и lib-файлами,чего нельзя сказать о TASM'е.
К тому же тем же автором был собран так называемый KmdKit -- всё что нужно для разработки драйверов на ассемблере(masm32).
Так берите же пакет masm32 с WASM'а и компилируйте свою программу в нём.

zl3p 26-06-2007 16:33 604297

Цитата:

_outp(), а мой С++ не знает такую.
Я имел ввиду всё тот же borland С++ 5.02. Здесь нету именно _outp(), хотя есть outp() и outport(). Последняя собственно из dos.h. Что касается функции outp(), то компилятор выдаёт мне, что "мы такую не знаем", хотя я и подключил conio.h, как это и написано в хелпе.

Цитата:

Так берите же пакет masm32 с WASM'а и компилируйте свою программу в нём.
Да, я его уже скачал. Но надо ещё разобраться с этими библиоками для виндовс. Не всё так просто как кажется.

pva 29-06-2007 11:54 605786

а если открыть порт как файл и зафигачить туда? типа copy my_cool_cmd.txt lpt1... Что за программа? что делает? расскажите, вдруг таблетка у кого уже есть.


Время: 13:33.

Время: 13:33.
© OSzone.net 2001-