Beispiel mit NetCtrl.dll und USBCtrl.dll unter VB.Net
Verfasst: Dienstag 13. Oktober 2009, 17:17
Hallo zusammen,
ich hab eine USB-PwrCtrl und eine Net-PwrCtrl gekauft und installiert.
Der Aufbau der Steckerleisten ist sehr gut und das Beste was ich für das Geld bisher gesehen hab. Da ich die Schaltfunktionen in eigenen Programmen verwenden will, war es wichtig, das der Hersteller ein Interfase zur Verfügung stellt. Die Beispiele zu den Dlls von Anel waren leider nur im etwas altbackenen VB6 codiert. Die Express-Versionen von VB.Net,C#.Net und C++.Net sind da aktuelle und kostenlose Nachfolger.
Mit ein paar weiteren Informationen aus dem Internet war es einfach beide DLL´s in .Net einzubinden und aufzurufen.
Und so läuft es:
USBCtrl.dll in ein Verzeichnis kopieren und mit der "Eingabeaufforderung" im System registrieren.
Regsvr32 c:\Hardware\Steckerleitse\USBCtrl.dll
VB.Net starten, ein neues Projekt anlegen und bei den Projekt-Verweisen die Dll hinzufügen.
Wenn die DLL registriert wurde, findet man sie unter dem COM-Reiter.
Beim laden wird ein Interfase erzeugt und als neue Datei im Projektordner gespeichert.
Interop.USBCtrl.dll
Mit dem Objektbrouser können nun alle Funktionen und Parameter der USBCtrl.dll eingesehen werden.
Das ganze funktioniert genau so mit der NetCtrl.dll, nur ein paar Funktionen haben andere Rückgaben.
Für ein einfaches Testprogramm, kann man nun in der Form1, zwei Buttons und ein Label einfügen, sowie folgenden Code...
Das ausführbare Program beinhaltet dann:
c:\Hardware\Steckerleitse\USBCtrl.dll
c:\Hardware\Steckerleitse\Interop.USBCtrl.dll
c:\Hardware\Steckerleitse\SetPower.Exe
Leider läuft das bisher nur unter XP32 und W2k. Unter Vista läuft bisher nur die USBCtrl.dll und unter Vista64 geht noch gar nichts. Das kann aber auch ein Problem mit den Berechtigungen sein. Ich bin da noch dran...
Hat vielleicht jemand mehr Informationen darüber ???
Grüße
Robert
ich hab eine USB-PwrCtrl und eine Net-PwrCtrl gekauft und installiert.
Der Aufbau der Steckerleisten ist sehr gut und das Beste was ich für das Geld bisher gesehen hab. Da ich die Schaltfunktionen in eigenen Programmen verwenden will, war es wichtig, das der Hersteller ein Interfase zur Verfügung stellt. Die Beispiele zu den Dlls von Anel waren leider nur im etwas altbackenen VB6 codiert. Die Express-Versionen von VB.Net,C#.Net und C++.Net sind da aktuelle und kostenlose Nachfolger.
Mit ein paar weiteren Informationen aus dem Internet war es einfach beide DLL´s in .Net einzubinden und aufzurufen.
Und so läuft es:
USBCtrl.dll in ein Verzeichnis kopieren und mit der "Eingabeaufforderung" im System registrieren.
Regsvr32 c:\Hardware\Steckerleitse\USBCtrl.dll
VB.Net starten, ein neues Projekt anlegen und bei den Projekt-Verweisen die Dll hinzufügen.
Wenn die DLL registriert wurde, findet man sie unter dem COM-Reiter.
Beim laden wird ein Interfase erzeugt und als neue Datei im Projektordner gespeichert.
Interop.USBCtrl.dll
Mit dem Objektbrouser können nun alle Funktionen und Parameter der USBCtrl.dll eingesehen werden.
Das ganze funktioniert genau so mit der NetCtrl.dll, nur ein paar Funktionen haben andere Rückgaben.
Für ein einfaches Testprogramm, kann man nun in der Form1, zwei Buttons und ein Label einfügen, sowie folgenden Code...
Code: Alles auswählen
Imports System.Runtime.InteropServices
Public Class Form1
Inherits System.Windows.Forms.Form
Dim vb6_USBClass As New USBCtrl.Ctrl
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
vb6_USBClass.Init()
Dim usb As Int16 = vb6_USBClass.DevCount
If usb > 0 Then
Label1.Text = "USB-PwrCtrl gefunden"
Button1.Enabled = True
Button2.Enabled = True
Else
Label1.Text = "USB-PwrCtrl nicht gefunden"
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim erg As Short = vb6_USBClass.SwOn(0, 1)
Label1.Text = "Power ON"
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim erg As Short = vb6_USBClass.SwOff(0, 1)
Label1.Text = "Power OFF"
End Sub
End Class
c:\Hardware\Steckerleitse\USBCtrl.dll
c:\Hardware\Steckerleitse\Interop.USBCtrl.dll
c:\Hardware\Steckerleitse\SetPower.Exe
Leider läuft das bisher nur unter XP32 und W2k. Unter Vista läuft bisher nur die USBCtrl.dll und unter Vista64 geht noch gar nichts. Das kann aber auch ein Problem mit den Berechtigungen sein. Ich bin da noch dran...
Hat vielleicht jemand mehr Informationen darüber ???
Grüße
Robert