Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2013, 10:41   #1
Vova777
Уважаемый
Форумчанин
 
Аватар для Vova777
 
Регистрация: 04.07.2010
Сообщений: 318
По умолчанию Программно получить информацию о портах. Внутри.

Здравствуйте.

Необходимо программно получить список доступных (реальных, физических портов) системе LPT-портов. Затем, получить от каждого такой параметр ресурса, как: "Диапазон ввода/вывода (I/O)", т.е. это "Базовый адрес I/O" или "Адрес регистра Data".

Адреса могут плавать в широком диапазоне, потому что порт расположен на PCI-карте.

Как это сделать?

Спасибо.
даешь высокое напряжение
Vova777 вне форума Ответить с цитированием
Старый 09.12.2013, 13:26   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...вообще, вам нужен только базовый адрес порта, все остальные адреса идут со сдвигом. Сами базовые адреса (двухбайтовое значение) содержатся в регистрах:
0x408 - LPT1
0x40A - LPT2
0x40C - LPT3
0x40E - LPT4

Т.е. требуется чтение их содержимого. Понадобятся привилегии под NT и выше, необходимо использование драйвера.

===================
Есть другой метод - через WMI получение адресов, тут была тема, но автор обломился с использованием PCI-PCMCIA расширителя LPT. С WMI также есть засада, что на чистых системах по дефолту данная служба просто не активирована.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 09.12.2013, 13:58   #3
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Добавлено

...а вообще в реестре есть ветка и ключик с соответствующей информацией:
Цитата:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentCo ntrolSet\Enum\ACPI\PNP0401\4&2c575a cb&0\LogConf]
"BasicConfigVector"=hex(a):00,06,00 ,00,0f,00,00,00,00,00,00,00,00,00,0 0,00,00,\
00,00,00,00,00,00,00,00,00,00,00,04 ,00,00,00,01,00,01,00,04,00,00,00,0 0,01,\
01,00,11,00,00,00,08,00,00,00,01,00 ,00,00,78,03,00,00,00,00,00,00,7f,0 3,00,\
00,00,00,00,00,00,01,01,00,11,00,00 ,00,08,00,00,00,01,00,00,00,78,07,0 0,00,\
00,00,00,00,7f,07,00,00,00,00,00,00 ,00,02,01,00,01,00,00,00,07,00,00,0 0,07,\
00,00,00,00,00,00,00,00,00,00,00,00 ,00,00,00,00,00,00,00,00,04,01,00,0 0,00,\
00,00,03,00,00,00,03,00,00,00,00,00 ,00,00,00,00,00,00,00,00,00,00,00,0 0,00,\
00,01,00,01,00,0e,00,00,00,00,01,01 ,00,11,00,00,00,08,00,00,00,01,00,0 0,00,\
78,03,00,00,00,00,00,00,7f,03,00,00 ,00,00,00,00,00,01,01,00,11,00,00,0 0,08,\
00,00,00,01,00,00,00,78,07,00,00,00 ,00,00,00,7f,07,00,00,00,00,00,00,0 0,02,\
01,00,01,00,00,00,03,00,00,00,03,00 ,00,00,00,00,00,00,00,00,00,00,00,0 0,00,\
00,00,00,00,00,08,02,01,00,01,00,00 ,00,04,00,00,00,04,00,00,00,00,00,0 0,00,\
00,00,00,00,00,00,00,00,00,00,00,00 ,08,02,01,00,01,00,00,00,05,00,00,0 0,05,\
00,00,00,00,00,00,00,00,00,00,00,00 ,00,00,00,00,00,00,00,08,02,01,00,0 1,00,\
00,00,06,00,00,00,06,00,00,00,00,00 ,00,00,00,00,00,00,00,00,00,00,00,0 0,00,\
00,08,02,01,00,01,00,00,00,07,00,00 ,00,07,00,00,00,00,00,00,00,00,00,0 0,00,\
00,00,00,00,00,00,00,00,08,02,01,00 ,01,00,00,00,0a,00,00,00,0a,00,00,0 0,00,\
00,00,00,00,00,00,00,00,00,00,00,00 ,00,00,00,08,02,01,00,01,00,00,00,0 b,00,\
00,00,0b,00,00,00,00,00,00,00,00,00 ,00,00,00,00,00,00,00,00,00,00,08,0 2,01,\
00,01,00,00,00,0c,00,00,00,0c,00,00 ,00,00,00,00,00,00,00,00,00,00,00,0 0,00,\
00,00,00,00,00,04,01,00,00,00,00,00 ,00,00,00,00,00,00,00,00,00,00,00,0 0,00,\
00,00,00,00,00,00,00,00,00,00,00,08 ,04,01,00,00,00,00,00,01,00,00,00,0 1,00,\
00,00,00,00,00,00,00,00,00,00,00,00 ,00,00,00,00,00,00,08,04,01,00,00,0 0,00,\
00,02,00,00,00,02,00,00,00,00,00,00 ,00,00,00,00,00,00,00,00,00,00,00,0 0,00,\
08,04,01,00,00,00,00,00,03,00,00,00 ,03,00,00,00,00,00,00,00,00,00,00,0 0,00,\
00,00,00,00,00,00,00,01,00,01,00,0e ,00,00,00,00,01,01,00,11,00,00,00,0 8,00,\
00,00,01,00,00,00,78,02,00,00,00,00 ,00,00,7f,02,00,00,00,00,00,00,00,0 1,01,\
00,11,00,00,00,08,00,00,00,01,00,00 ,00,78,06,00,00,00,00,00,00,7f,06,0 0,00,\
00,00,00,00,00,02,01,00,01,00,00,00 ,03,00,00,00,03,00,00,00,00,00,00,0 0,00,\
00,00,00,00,00,00,00,00,00,00,00,08 ,02,01,00,01,00,00,00,04,00,00,00,0 4,00,\
00,00,00,00,00,00,00,00,00,00,00,00 ,00,00,00,00,00,00,08,02,01,00,01,0 0,00,\
00,05,00,00,00,05,00,00,00,00,00,00 ,00,00,00,00,00,00,00,00,00,00,00,0 0,00,\
08,02,01,00,01,00,00,00,06,00,00,00 ,06,00,00,00,00,00,00,00,00,00,00,0 0,00,\
...
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить информацию о сетевом адаптере Энджи Работа с сетью в Delphi 10 29.03.2012 21:21
Как получить информацию о БД? Belarus SQL, базы данных 1 14.07.2010 19:09
Получить информацию с сайта dimafe6 Работа с сетью в Delphi 4 03.07.2010 14:21
Получить информацию с сайта Rapala Работа с сетью в Delphi 16 13.05.2010 14:50
Ищу кое-какую информацию (см. внутри) delphifan Обсуждение статей 3 15.04.2010 00:15