Помогите разобраться с LPT - VB

Узнай цену своей работы

Формулировка задачи:

Всем доброго времени! (сразу спасибки, что не пропустили тему!) Как-то раньше не задумывался над вопросом работы с внешними устройствами из ВБ, теперь встала проблема читать и записывать в порт ЛПТ данные, конфигурить его по своему усмотрению. Перебрал кучу ссылок в нете, каждый, этот вопрос, решает по-разному, кто *.длл подключает, а кто АПИ использует. Но у меня проблема с условием - мне не подходит работа с подключаемой *.длл. Мне надо чтобы это заключалось или с АПИ функциями, или с АСМ-вставками, или (где-то прочитал) работа с kernel.dll (что и есть АПИ, как я понимаю). АСМ-вставки отпадают, читал что ВБ не поддерживает такой подход, но народ как-то умудряется схитрить??? Остаются АПИ. Искал много, но не нашёл ни чего конкретного. Если кто знает - не обойдите вниманием, очень надо!!! Зарание спасибо, Wit!

Решение задачи: «Помогите разобраться с LPT»

textual
Листинг программы
Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Long, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
Private Declare Function WriteFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToWrite As Long, lpNumberOfBytesWritten As Long, ByVal lpOverlapped As Long) As Long
Private Declare Function ReadFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, ByVal lpOverlapped As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Const INVALID_HANDLE_VALUE = -1
Private Const GENERIC_READ = &H80000000
Private Const GENERIC_WRITE = &H40000000
Private Const FILE_SHARE_READ = &H1
Private Const FILE_SHARE_WRITE = &H2
Private Const CREATE_ALWAYS = 2
Private Const CREATE_NEW = 1
Private Const OPEN_ALWAYS = 4
Private Const OPEN_EXISTING = 3
Private Const TRUNCATE_EXISTING = 5
Private Const FILE_ATTRIBUTE_NORMAL = &H80
Private Const FILE_FLAG_OVERLAPPED = &H40000000
Private Sub Form_Load()
Dim m_hFile As Byte
m_hFile = CreateFile("LPT1", GENERIC_READ, FILE_SHARE_READ, 0, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0&)
MsgBox m_hFile
CloseHandle m_hFile
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5