geklauter Code
Hier ist nur ein Auszug aus dem Tipp von Frank Ziegler bei vb@rchiv.
Nach langem Probieren habe ich nun eine Möglichkeit gefunden, wie durch ein kleines Programm die Fernbedienung für fast alle Programme, die über Tastencodes zu steuern sind, verwendbar wird.
- Erstellen Sie ein Formular mit 7 Labels (Label1(0) bis Label1(6))
- Suchen Sie unter “Projekte- Komponenten” nach dem Eintrag X10 Controls (”C:\Programme\Common Files\x10\Common\x10net.dll”) und aktivieren diesen.
- Fügen Sie nun eine Instanz des Controls X10 dem Formular hinzu
- Kopieren Sie unten stehenden Programmcode in das Formular
Die Prozedur X10Control1_X10Command wird bei jedem Tastendruck aufgerufen und kann ausgewertet werden:
- bszCommand gibt die Bezeichnung der gedrückten Taste an, z.B. “One”, “Two”, “ChannelUp” usw.
- eCommand gibt den Nummercode der gedrückten Taste an
- EKeyState hat den Wert 1, wenn die Taste nur kurz gedrückt wurde, 2 wenn die Taste losgelassen wird und 3 bei dauernd gedrücktgehaltener Taste
- lSequence zählt bei gedrückter Taste nach oben
- varTimestamp gibt Datum und Uhrzeit des Tastendrucks an
Man kann den Computer sogar mit einem Tastendruck herunterfahren (Shell “shutdown.exe -s -f -t 01″)
Private Sub X10Control1_X10Command( _
ByVal bszCommand As String, _
ByVal eCommand As X10Ctl.EX10Command, _
ByVal lAddress As Long, _
ByVal EKeyState As X10Ctl.EX10Key, _
ByVal lSequence As Long, _
ByVal eCommandType As X10Ctl.EX10Comm, _
ByVal varTimestamp As Variant)
Label1(0).Caption = bszCommand
Label1(1).Caption = eCommand
Label1(2).Caption = lAddress
Label1(3).Caption = EKeyState
Label1(4).Caption = lSequence
Label1(5).Caption = eCommandType
Label1(6).Caption = varTimestamp
If EKeyState = 1 Or EKeyState = 3 Then
If bszCommand = "Record" Then Shell "shutdown.exe -s -f -t 01"
Select Case bszCommand
Case "One": SendKeys "1"
Case "Two": SendKeys "2"
‘ hier weitere Befehle eingeben End Select End If End Sub