Danke für die Hilfe soweit!
Ich hab jetzt ein Programm gefunden, dass mit meinem Joystick funktioniert:
http://bienert-projects.de/blog/?p=90
Ich bin nur gerade am verzweifeln wie ich das in mein Programm einsetze.
Entweder geht nur der Joystick oder nur der Maestro, zusammen funktioniert es noch nicht.
Also das ist mein Programmcode:
Imports Pololu.UsbWrapper
Imports Pololu.Usc

Imports System
Imports System.Text
Imports System.ComponentModel




Public Class MainWindow



Private Sub TrackBar1_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs)
TrySetTarget(0, TrackBar1.Value * 4) ' Richtet den Servo 0 nach dem Schieberegler aus.
End Sub
Sub Servo_0_up_down_ValueChanged(ByVal sender As Object, ByVal e As _
System.EventArgs)
TrySetTarget(0, Servo_0_up_down.Value * 4)
End Sub
''' <summary>
''' This function runs when the user clicks the Disable button.
''' </summary>
Sub ButtonDisable_Click(ByVal sender As Object, ByVal e As EventArgs)
' Set target of channel 0 to 0. This tells the Maestro to stop
' transmitting pulses on that channel. Any servo connected to it
' should stop trying to maintain its position.
TrySetTarget(0, 0)
End Sub








Private Sub TrackBar2_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs)
TrySetTarget(1, TrackBar2.Value * 4) ' Richtet den Servo 1 nach dem Schieberegler aus.
End Sub
Sub Servo_1_up_down_ValueChanged(ByVal sender As Object, ByVal e As _
System.EventArgs)
TrySetTarget(1, Servo_1_up_down.Value * 4)
End Sub
''' <summary>
''' This function runs when the user clicks the Disable button.
''' </summary>
Sub ButtonDisable2_Click(ByVal sender As Object, ByVal e As EventArgs)
' Set target of channel 1 to 0. This tells the Maestro to stop
' transmitting pulses on that channel. Any servo connected to it
' should stop trying to maintain its position.
TrySetTarget(1, 0)
End Sub









Private Sub TrackBar3_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs)
TrySetTarget(2, TrackBar1.Value * 4) ' Richtet den Servo 2 nach dem Schieberegler aus.
End Sub
Sub Servo_2_up_down_ValueChanged(ByVal sender As Object, ByVal e As _
System.EventArgs)
TrySetTarget(2, Servo_2_up_down.Value * 4)
End Sub
''' <summary>
''' This function runs when the user clicks the Disable button.
''' </summary>
Sub ButtonDisable3_Click(ByVal sender As Object, ByVal e As EventArgs)
' Set target of channel 2 to 0. This tells the Maestro to stop
' transmitting pulses on that channel. Any servo connected to it
' should stop trying to maintain its position.
TrySetTarget(2, 0)
End Sub








''' <summary>
''' Attempts to set the target of
''' </summary>
''' <param name="channel">Channel number from 0 to 23.</param>
''' <param name="target">
''' Target, in units of quarter microseconds. For typical servos,
''' 6000 is neutral and the acceptable range is 4000-8000.
''' </param>
Sub TrySetTarget(ByVal channel As Byte, ByVal target As UInt16)
Try
Using device As Usc = connectToDevice() ' Find a device and temporarily connect.
device.setTarget(channel, target)
' device.Dispose() is called automatically when the "Using" block ends,
' allowing other functions and processes to use the device.
End Using
Catch exception As Exception ' Handle exceptions by displaying them to the user.
displayException(exception)
End Try
End Sub

''' <summary>
''' Connects to a Maestro using native USB and returns the Usc object
''' representing that connection. When you are done with the
''' connection, you should close it using the Dispose() method so that
''' other processes or functions can connect to the device later. The
''' "Using" statement can do this automatically for you.
''' </summary>
Function connectToDevice() As Usc
' Get a list of all connected devices of this type.
Dim connectedDevices As List(Of DeviceListItem) = Usc.getConnectedDevices()

For Each dli As DeviceListItem In connectedDevices
' If you have multiple devices connected and want to select a particular
' device by serial number, you could simply add some code like this:
' If dli.serialNumber <> "00012345" Then
' Continue For
' End If

Dim device As Usc = New Usc(dli) ' Connect to the device.
Return device ' Return the device.
Next

Throw New Exception("Der Controller konnte nicht gefunden werden. Überprüfen Sie die USB-Verbindung! ")
End Function

''' <summary>
''' Displays an exception (error) to the user by popping up a message box.
''' </summary>
Sub displayException(ByVal exception As Exception)
Dim stringBuilder As StringBuilder = New StringBuilder()
Do
stringBuilder.Append(exception.Message & " ")
If TypeOf exception Is Win32Exception Then
Dim win32Exception As Win32Exception = DirectCast(exception, Win32Exception)
stringBuilder.Append("Error code 0x" + win32Exception.NativeErrorCode.ToString("x") + ". ")
End If
exception = exception.InnerException
Loop Until (exception Is Nothing)
MessageBox.Show(stringBuilder.ToString(), Text, MessageBoxButtons.OK, MessageBoxIcon.Error)
End Sub

Sub Maus_Check(ByVal sender As System.Object, ByVal e As System.EventArgs)

If Maussteuerung.Checked = True Then
Maussteuerung.Text = "aktiviert"
Else
Maussteuerung.Text = "deaktiviert"
End If
End Sub

Sub XY_MouseMove(ByVal sender As Object, ByVal e As MouseEventArgs)
'Ausgabe des XY-Wertes der Maus
Dim xachse, yachse As String

xachse = e.Location.X
yachse = e.Location.Y

lbl_koord.Text = (500 + xachse * 3) & "-" & (400 + yachse * 2.7)
If Maussteuerung.Checked = True Then
TrySetTarget(0, (2000 - xachse * 2. Bild   * 4)
TrySetTarget(1, (400 + yachse * 2.7) * 4)
Else
End If








End Sub

Private Declare Function joyGetPos Lib "winmm.dll" (ByVal uJoyID As Integer, ByRef pji As JOYINFO) As Integer
Private Structure JOYINFO
Dim X As Integer
Dim Y As Integer
Dim Z As Integer
Dim Buttons As Integer
End Structure
Dim JInfo As JOYINFO

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs)
joyGetPos(0, JInfo) 'Joystick 0
TextBox1.Text = "B :" + Str$(JInfo.Buttons)
TextBox2.Text = "X :" + Str$(JInfo.X)
TextBox3.Text = "Y :" + Str$(JInfo.Y)
End Sub






End Class

Jetzt muss ich noch das andere Programm reinbasteln.
Nur bisher hat er entweder nicht reagiert oder irgendwelche sinnlosen Fehler angegeben.