Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > ОС и железо
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 28.06.2012, 14:10
Natalivm09 Natalivm09 вне форума
Прохожий
 
Регистрация: 28.06.2012
Адрес: Смоленск
Сообщения: 14
Версия Delphi: delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от robt
да, тамже все прототипы функций описаны для нее
или как обычно, непорусски ни бе ни ме?

с прототипами я разобралась, не знаю как ее подключить, первый раз с таким столкнулась
Ответить с цитированием
  #17  
Старый 28.06.2012, 14:21
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Зри в корень, точнее в последнюю строку:
Цитата:
Delphi Prototypes
Код:
procedure PortOut(Port : Word; Data : Byte);
procedure PortWordOut(Port : Word; Data : Word);
procedure PortDWordOut(Port : Word; Data : DWord);
function PortIn(Port : Word) : Byte;
function PortWordIn(Port : Word) : Word;
function PortDWordIn(Port : Word) : DWord;
procedure SetPortBit(Port : Word; Bit : Byte);
procedure ClrPortBit(Port : Word; Bit : Byte);
procedure NotPortBit(Port : Word; Bit : Byte);
function GetPortBit(Port : Word; Bit : Byte) : WordBool;
function RightPortShift(Port : Word; Val : WordBool) : WordBool;
function LeftPortShift(Port : Word; Val : WordBool) : WordBool; 
function IsDriverInstalled : Boolean;
Important! To use these functions in your Delphi program, the correct calling convention of stdcall is required. For example:

Код:
procedure PortOut(Port : Word; Data : Byte); stdcall; external 'io.dll';
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #18  
Старый 28.06.2012, 14:45
Natalivm09 Natalivm09 вне форума
Прохожий
 
Регистрация: 28.06.2012
Адрес: Смоленск
Сообщения: 14
Версия Delphi: delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Aristarh Dark
Зри в корень, точнее в последнюю строку:

у меня так и записано, в var описала, как там. откомпиллировался, но пишет что unable to start io.sys service. файл io.dll в одну папку с проектом надо?
Ответить с цитированием
  #19  
Старый 28.06.2012, 15:14
Natalivm09 Natalivm09 вне форума
Прохожий
 
Регистрация: 28.06.2012
Адрес: Смоленск
Сообщения: 14
Версия Delphi: delphi 7
Репутация: 10
По умолчанию

короче, с 7 правда не работает, пишет не совместима...что делать??? подскажите...
Ответить с цитированием
  #20  
Старый 28.06.2012, 16:21
Natalivm09 Natalivm09 вне форума
Прохожий
 
Регистрация: 28.06.2012
Адрес: Смоленск
Сообщения: 14
Версия Delphi: delphi 7
Репутация: 10
По умолчанию

Перешла на xp(виртуальная машина) начала устанавливать, но пишет the io.sys service is present but the driver cannot be connected to. Файл io.dll загружен, но не может быть установлен! ПОЧЕМУ???????????????
Ответить с цитированием
  #21  
Старый 28.06.2012, 17:41
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Я уже говорил. Пользовательские приложения - это одно. Драйвера - совсем другое. Драйвера работают в 0 кольце защиты, пользовательские - в третьем. Работа с портами в 3 кольце запрещена аппаратно (команды IN/OUT вызывают исключение и не выполняются, если конкретный порт запрещен приложению; в современных системах все порты всем запрещены). Поэтому единственный выход - работать в нулевом кольце, а это уже к драйверам.
Читай про написание драйверов, про DDK, используй соответствующие инструменты. Делать такое на делфи - как правое ухо чесать левой пяткой.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
  #22  
Старый 28.06.2012, 17:50
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Попробуй вот это, я с помощью этой библиотеки удачно управлял LPT портом в XP.
Кста, тут на форуме есть исходник.
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #23  
Старый 28.06.2012, 18:25
robt robt вне форума
Активный
 
Регистрация: 17.02.2011
Сообщения: 298
Репутация: -1806
По умолчанию

Цитата:
Сообщение от Bargest
Я уже говорил. Пользовательские приложения - это одно. Драйвера - совсем другое.
поспешил с выводами
в этой либе драйвер лежит в ресурсах и грузица при использовании оной
Ответить с цитированием
  #24  
Старый 28.06.2012, 18:28
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Прикольное решение. Только вот драйвера, разработанные для одной винде, часто не грузятся в другой (что, видимо, и произошло у ТС).

З.Ы. праздный интерес: 3C0h - это что-то из регистров какого-то старенького видеоадаптера?
__________________
jmp $ ; Happy End!
The Cake Is A Lie.

Последний раз редактировалось Bargest, 28.06.2012 в 18:33.
Ответить с цитированием
  #25  
Старый 28.06.2012, 18:50
robt robt вне форума
Активный
 
Регистрация: 17.02.2011
Сообщения: 298
Репутация: -1806
По умолчанию

Цитата:
Сообщение от Bargest
Прикольное решение. Только вот драйвера, разработанные для одной винде, часто не грузятся в другой (что, видимо, и произошло у ТС).

З.Ы. праздный интерес: 3C0h - это что-то из регистров какого-то старенького видеоадаптера?
там же заявлено for Windows 95/98/NT/2000/XP
а четам у ТС это ее проблеммы, виртуалка виртуалке рознь
Ответить с цитированием
  #26  
Старый 29.06.2012, 10:48
Natalivm09 Natalivm09 вне форума
Прохожий
 
Регистрация: 28.06.2012
Адрес: Смоленск
Сообщения: 14
Версия Delphi: delphi 7
Репутация: 10
По умолчанию

помогите, запускаю project, а он пишет что обнаружен троян! только при запуске, в чем дело?
Ответить с цитированием
  #27  
Старый 29.06.2012, 16:20
robt robt вне форума
Активный
 
Регистрация: 17.02.2011
Сообщения: 298
Репутация: -1806
По умолчанию

Цитата:
Сообщение от Natalivm09
помогите, запускаю project, а он пишет что обнаружен троян! только при запуске, в чем дело?
ну ясен фиг, если что то при старте ставит драйвер, то почему бы это не назвать трояном
Ответить с цитированием
  #28  
Старый 03.07.2012, 11:49
Natalivm09 Natalivm09 вне форума
Прохожий
 
Регистрация: 28.06.2012
Адрес: Смоленск
Сообщения: 14
Версия Delphi: delphi 7
Репутация: 10
По умолчанию

Помогите! не заню как протестировать программу, не уверена что комп на котором пишу содержит мои регистры 3с0h и 3с1h, хочу проверить читает он и записывает ли, какие регистры можно позаписывать?
Ответить с цитированием
  #29  
Старый 05.07.2012, 15:20
Rat Rat вне форума
Активный
 
Регистрация: 12.09.2008
Сообщения: 391
Репутация: 6078
По умолчанию

Пиши в регистры видеоадаптера. Сразу будет видно - попала/не попала.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:05.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter