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

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

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

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

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

textual
Листинг программы
  1. 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
  2. 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
  3. 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
  4. Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
  5. Private Const INVALID_HANDLE_VALUE = -1
  6. Private Const GENERIC_READ = &H80000000
  7. Private Const GENERIC_WRITE = &H40000000
  8. Private Const FILE_SHARE_READ = &H1
  9. Private Const FILE_SHARE_WRITE = &H2
  10. Private Const CREATE_ALWAYS = 2
  11. Private Const CREATE_NEW = 1
  12. Private Const OPEN_ALWAYS = 4
  13. Private Const OPEN_EXISTING = 3
  14. Private Const TRUNCATE_EXISTING = 5
  15. Private Const FILE_ATTRIBUTE_NORMAL = &H80
  16. Private Const FILE_FLAG_OVERLAPPED = &H40000000
  17. Private Sub Form_Load()
  18. Dim m_hFile As Byte
  19. m_hFile = CreateFile("LPT1", GENERIC_READ, FILE_SHARE_READ, 0, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0&)
  20. MsgBox m_hFile
  21. CloseHandle m_hFile
  22. End Sub

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут