lpt poort aansturen in Vista met VB5

Status
Niet open voor verdere reacties.

Linuxontdekker

Gebruiker
Lid geworden
12 mrt 2008
Berichten
14
Hallo Geinteresseerde,

Ik heb zelf een programmaatje onder VB5 gemaakt om de lpt-poort mee aan te sturen.
Van win 98 tot en met xp werkt dit prima met behulp van een DLL-bestandje.
Mijn programmaatje werk wel onder Vista, maar de lpt-poort reageert niet.
(Ik laat ledjes branden via deze poort)
Is er iemand die ook ervaring heeft met dit probleem en is er iemand die de oplossing weet?

Groet,

Richard
 
Heej,

wij (drie HAVO-leerlingen) hebben volgens mij hetzelde idee, maar een tegengesteld probleem. Wij willen namelijk voor het profielwerkstuk (een onderdeel van je eindexamen) een autootje laten rijden via de LPT-poort. Het printplaatje van ons werkt en we kunnen het autootje laten rijden met LPT-pushbutton, maar we zouden het graag laten rijden met VB5.
Wat we ook proberen, wij krijgen het niet voor elkaar ook maar iets in die richting te programmeren. Zou jij ons hiermee, kunnen helpen?
Verder weet ik zo ook niet wat t probleem is. Het enige wat ik weet is dat je een io.dll en een userport nodig hebt.

met vriendelijke groeten en alvast bedank,
PWSkarretje
 
Beste mensen, jullie willen niet weten hoe lang ik hiernaar opzoek ben geweest.
Er is veel over te vinden, maar voor mij werkte het allemaal niet.
Totdat ik deze link tegen kwam:
http://www.geekhideout.com/iodll.shtml

Download hier io.dll.
Niet ergens anders, want dan zal het niet werken.

Zet io.dll in dezelfde map als je programma (*.exe)

Pleur dit helemaal bovenaan je code (vb2005)
Public Declare Sub PortOut Lib "IO.DLL" (ByVal Port As Integer, ByVal Data As Byte)
Public Declare Sub PortWordOut Lib "IO.DLL" (ByVal Port As Integer, ByVal Data As Integer)
Public Declare Sub PortDWordOut Lib "IO.DLL" (ByVal Port As Integer, ByVal Data As Long)
Public Declare Function PortIn Lib "IO.DLL" (ByVal Port As Integer) As Byte
Public Declare Function PortWordIn Lib "IO.DLL" (ByVal Port As Integer) As Integer
Public Declare Function PortDWordIn Lib "IO.DLL" (ByVal Port As Integer) As Long
Public Declare Sub SetPortBit Lib "IO.DLL" (ByVal Port As Integer, ByVal Bit As Byte)
Public Declare Sub ClrPortBit Lib "IO.DLL" (ByVal Port As Integer, ByVal Bit As Byte)
Public Declare Sub NotPortBit Lib "IO.DLL" (ByVal Port As Integer, ByVal Bit As Byte)
Public Declare Function GetPortBit Lib "IO.DLL" (ByVal Port As Integer, ByVal Bit As Byte) As Boolean
Public Declare Function RightPortShift Lib "IO.DLL" (ByVal Port As Integer, ByVal Val As Boolean) As Boolean
Public Declare Function LeftPortShift Lib "IO.DLL" (ByVal Port As Integer, ByVal Val As Boolean) As Boolean
Public Declare Function IsDriverInstalled Lib "IO.DLL" () As Boolean

En nu kun je bij een button instellen

' Use LPT1
Dim port As Integer = &H378
' Some data to write - valid 0-255
Dim data As Byte = &H55
PortOut(port, data)

Je ziet hier &H55 staan. 55 is het hexadecimale getal waarmee je de poort kunt aansturen. Die &H moet er gewoon voor staan.

De code om te lezen kan ik even niet vinden maar die zal ik binnenkort wel even posten.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan