NTLoader это драйвер + программа, с помощью которых можно разрешить любому
приложению напрямую работать с портами ввода-вывода под Windows NT, 2000, XP
даже если это приложение написано под Windows 95, 98, Me. Т.е. с помощью этого
комплекса можно продолжать пользоваться программой написанной для Windows 95
для работы с портами (например LPT или COM) под Windows XP не изменяя кодов
программы!
Для чего может быть полезен NTLoader? Напрмаер, у Вас есть проверенная годами
программа - программатор. Единственная проблема - она работает только под
Windows 95, 98, Me т.к. общается с портом напрямую. Вдруг возникает
необходимость перенести ее на компьютер под управлением Windows XP - разумеется,
там она работать не будет, т.к. XP прямого обращения к портам не терпит.
Возникает делема: либо начать использовать другую программу (что мягко скажем,
проблематично) или переписывать имеющуюся программу. Дело не простое, особенно
если она не Ваша и исходных кодов Вы не имеете. Вот тут NTLoader сможет Вам
помочь - несколько щелчков мыши и Ваша программа успешно работает на XP.
Теперь рассмотрим, как пользоваться этим NTLoader`ом. Для начала скачайте архив
с драйвером и программой.
Скачать NTLoader
(размер: 24.0 КБ)
В архиве Вы найдете следующие файлы:
Для того чтобы NTLoader смог работать Вам необходимо установить специальный
драйвер. Сделать это довольно просто. Для этого нужно:
1. Скопировать файл драйвера NTLoader.sys в папку
C:\Windows\system32\drivers\ если, конечно, система
у Вас установлена на диск С: и Вы не меняли пути установки Windows.
2. Запустить файл Install.reg. При этом Вас спросят о Вашем
желании добавить информацию из этого файла в реестр. Нажимайте Да.
При этом Вы получите сообщение об успешном внесении информации в реестр.
3. Перезагрузить компьютер.
Все теперь драйвер установлен и комплекс готов к работе. Запускайте приложение
NTLoader.exe. Принцип работы довольно прост: нажав на кнопку
Search... Вы указываете путь к программе которую нужно запускать. Затем
нажимаете кнопку LOAD. Все! Теперь запущенная Вами программа сможет
успешно работать с портами ввода-вывода напрямую под Windows NT, 2000, XP.
Теперь давайте протестируем NTLoader. Напишем простенькую программу, которая
будет работать с портом LPT напрямую. Вот ее код (для простоты примера сделаем
ее в консольном варианте). Готовый проект и программу можно найти в скаченном
Вами архиве. Беглого взгляда на код достаточно, чтобы сказать, что эта
программа не сможет работать под Windows XP - и действительно, тут и обращение
к порту с помощью функций _outp(), _inp() и даже прямое взаимодействие с
регистрами порта на ассемблере. Давайте убедимся в этом. Попробуйте ее
запустить под XP - при потытке обращения к порту, программа вылетает с ошибкой
(что и не удивительно).
#include <conio.h>
#include <stdio.h>
void main()
{
printf("Simple programm. Press any key to continue...\n\n");
getch();
printf("Try write to port (1)...\n");
_outp(0x378, 0);
printf("Try write to port (2)...\n");
_asm
{
mov dx, 378h
mov al, 1
out dx, al
}
printf("Try read port...\n");
char temp = _inp(0x378);
printf("Value: %d\n", temp);
getch();
}
А теперь попробуем запустить эту же программу с помощью NTLoader. Выбираем с
помощью Search... путь к нашей тестовой программе и нажимаем LOAD.
И о Чудо! Она работает!
Надеюсь, что NTLoader поможет Вам в работе с портами ввода-вывода под
Windows NT, 2000, XP.
Иванов Д. В. 25 февраля 2007 года
www.pcports.ru
Отзывы о Программном комплексе NTLoader можно оставить:
- в гостевой книге на сайте автора: http://www.pcports.ru/GBook.php
- на нашем форуме, в теме: Программный комплекс NTLoader
|