[VB.Net 2005 EE] Acquire/Poll DirectInput-Devices

chmee

verstaubtes inventar
Premium-User
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.

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:
Zurück