Ну как и обещал! Пользуйтесь!
'декларация всех внешних функций
Public Declare Function DlPortReadPortUchar Lib "dlportio.dll" (ByVal Port As Long) As Byte
Public Declare Sub DlPortWritePortUchar Lib "dlportio.dll" (ByVal Port As Long, ByVal Value As Byte)
Public Declare Function DlPortReadPortUchar Lib "dlportio.dll" (ByVal Port As
Long) As Byte
Public Declare Function DlPortReadPortUshort Lib "dlportio.dll" (ByVal Port As
Long) As Integer
Public Declare Function DlPortReadPortUlong Lib "dlportio.dll" (ByVal Port As
Long) As Long
Public Declare Sub DlPortReadPortBufferUchar Lib "dlportio.dll" (ByVal Port As
Long, Buffer As Any, ByVal Count As Long)
Public Declare Sub DlPortReadPortBufferUshort Lib "dlportio.dll" (ByVal Port
As Long, Buffer As Any, ByVal Count As Long)
Public Declare Sub DlPortReadPortBufferUlong Lib "dlportio.dll" (ByVal Port As
Long, Buffer As Any, ByVal Count As Long)
Public Declare Sub DlPortWritePortUchar Lib "dlportio.dll" (ByVal Port As
Long, ByVal Value As Byte)
Public Declare Sub DlPortWritePortUshort Lib "dlportio.dll" (ByVal Port As
Long, ByVal Value As Integer)
Public Declare Sub DlPortWritePortUlong Lib "dlportio.dll" (ByVal Port As
Long, ByVal Value As Long)
Public Declare Sub DlPortWritePortBufferUchar Lib "dlportio.dll" (ByVal Port
As Long, Buffer As Any, ByVal Count As Long)
Public Declare Sub DlPortWritePortBufferUshort Lib "dlportio.dll" (ByVal Port
As Long, Buffer As Any, ByVal Count As Long)
Public Declare Sub DlPortWritePortBufferUlong Lib "dlportio.dll" (ByVal Port
As Long, Buffer As Any, ByVal Count As Long)
'достаточно будет
Public Declare Function DlPortReadPortUchar Lib "dlportio.dll" (ByVal Port As Long) As Byte
Public Declare Sub DlPortWritePortUchar Lib "dlportio.dll" (ByVal Port As Long, ByVal Value As Byte)
обращение из проги
'чтение
edtValue = Hex$(DlPortReadPortUchar(Val("&H" & edtAddr)))
'запись
DlPortWritePortUchar Val("&H" & edtAddr), Val("&H" & edtValue)
рекомендую перед записью считывать старое значение порта!!!!!
edtValue-Значение порта 16-ричный код
edtAddr-Адрес порта
для АТ, PS/2 и PC/XT
для СОМ1 от 3F8 до 3FF - взависимости от BIOS матери и т.д.
для LPT1 от 378 до 37F (LPT2 при наличии MDA)
для LPT2 от 278 до 27F (LPT3 при наличии MDA)
кодов USB-портов к сожелению нет.
Подробнее инфо по кодам портов ищи у М.Гука Архитектура IBM PC (2-е издание)
возможно уже есть более новые книги
если найдете код по USB, вышлете - если не затруднит.
надеюсь меня наградят!
