Mahlzeit, hier mal wieder Anfänger chmee..
Ich habe eine einfache Abfrage der Attached DirectInput Devices geschrieben.
Listbox1 --> Attached Devices (zB Maus,Tastatur, Gamepad )
Listbox2 --> Objects / Eigenschaften ( Achse,Taste, etc.)
Ich klicke auf die Items der Listbox1 und in Listbox2 werden also die
dazugehörigen Objects gezeigt. Nun möchte ich, dass die angelklickte
Listbox1-Device gleichzeitig / realtime abgefragt wird und jenes Object in
Listbox2 seine Farbe ändert.
Welche Methode/Event sollte ich benutzen, um diese Abfrage nebenbei/im Hintergrund
zu bewerkstelligen ?
zB Maus ist angeklickt --> Bei Achse X-Bewegung soll Object(Listbox2) "AchseX"
rot werden.
Danke im voraus. mfg chmee
Wenn falsches Forum, dann bitte verschieben.
Ich habe eine einfache Abfrage der Attached DirectInput Devices geschrieben.
Listbox1 --> Attached Devices (zB Maus,Tastatur, Gamepad )
Listbox2 --> Objects / Eigenschaften ( Achse,Taste, etc.)
Ich klicke auf die Items der Listbox1 und in Listbox2 werden also die
dazugehörigen Objects gezeigt. Nun möchte ich, dass die angelklickte
Listbox1-Device gleichzeitig / realtime abgefragt wird und jenes Object in
Listbox2 seine Farbe ändert.
Welche Methode/Event sollte ich benutzen, um diese Abfrage nebenbei/im Hintergrund
zu bewerkstelligen ?
zB Maus ist angeklickt --> Bei Achse X-Bewegung soll Object(Listbox2) "AchseX"
rot werden.
Danke im voraus. mfg chmee
Wenn falsches Forum, dann bitte verschieben.
Code:
Imports Microsoft.DirectX.DirectInput
Public Class Form1
Dim f As DirectInput.DeviceInstance
Dim DIDeviceArray(DirectInput.Manager.Devices.Count)
Dim instance As DirectInput.SemanticsInstance
Dim ok As Boolean
Private Sub btStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btStart.Click
lstBox1.Items.Clear()
Dim i As Integer = 0
For Each f In DirectInput.Manager.GetDevices(DirectInput.DeviceClass.All, DirectInput.EnumDevicesFlags.AttachedOnly)
lstBox1.Items.Add(f.ProductName)
DIDeviceArray(i) = f
i += 1
ok = True
Next
lstBox1.SelectedIndex = 0
End Sub
Private Sub lstBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lstBox1.Click
lstBox2.Items.Clear()
If ok = True Then
Dim DIDevice As New DirectInput.Device(DIDeviceArray(lstBox1.SelectedIndex).InstanceGuid)
Dim DIObject As New DirectInput.DeviceObjectInstance
Dim DIObjectList As DirectInput.DeviceObjectList
For Each DIObject In DIDevice.GetObjects(DirectInput.DeviceObjectTypeFlags.All)
lstBox2.Items.Add(DIObject.Name)
Next
End If
End Sub
Zuletzt bearbeitet: