Joystick vb.net

letrix Messages postés 2 Date d'inscription lundi 5 septembre 2011 Statut Membre Dernière intervention 8 octobre 2011 - 8 oct. 2011 à 10:01
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 - 9 oct. 2011 à 13:58
Bonjour à tous

Je suis novice en VB.net j'essaye de faire tourner ce code mais il démarre et puis rien. J'essaye pas à pas mais il n'arrive même pas au load
Quelqu'un aurait-il une idée?

Module Module1
    Declare Function joyGetPosEx Lib "winmm.dll" (ByVal uJoyID As Long, ByVal pji As Type_JoyInfoEx) As Integer

    Public Const JOY_RETURN_ALL = &HFFF

    Structure Type_JoyInfoEx
        Dim dwSize As Integer              '  taille de la structure
        Dim dwFlags As Integer               '  flags to indicate what to return
        Dim dwXpos As Integer               '  x position
        Dim dwYpos As Integer               '  y position
        Dim dwZpos As Integer               '  z position
        Dim dwRpos As Integer               '  rudder/4th axis position
        Dim dwUpos As Integer                '  5th axis position
        Dim dwVpos As Integer                '  6th axis position
        Dim dwButtons As Integer             '  etats des bouttons
        Dim dwButtonNumber As Integer       '  numero du bouton presse actuellement
        Dim dwPOV As Integer                 '  point of view state
        Dim dwReserved1 As Integer               '  reserved for communication between winmm driver
        Dim dwReserved2 As Integer              '  reserved for future expansion
    End Structure

    Public Manette As Type_JoyInfoEx

End Module


Public Class Form1

    Private Sub Form_Load()


        Timer1.Interval = 10
        Timer1.Enabled = True
    End Sub

    Private Sub Timer1_Timer()


        Manette.dwSize = 64
        Manette.dwFlags = JOY_RETURN_ALL

        joyGetPosEx(0, Manette) ' Envoi toutes les informations du contrôleur n°0 dans "Manette"
        'Call joyGetPosEx(1, Manette) ' Envoi toutes les informations du contrôleur n°1 dans "Manette"
        'Call joyGetPosEx(2, Manette) ' Envoi toutes les informations du contrôleur n°2 dans "Manette"

        Label1.Text = _
                "Xpos =" + Str$(Manette.dwXpos) + vbLf _
              + "Ypos =" + Str$(Manette.dwYpos) + vbLf _
              + "Zpos =" + Str$(Manette.dwZpos) + vbLf _
              + "Rpos =" + Str$(Manette.dwRpos) + vbLf _
              + "Upos =" + Str$(Manette.dwUpos) + vbLf _
              + "Vpos =" + Str$(Manette.dwVpos) + vbLf _
              + "'Point de vue' =" + Str$(Manette.dwPOV) + vbLf _
              + "qté boutons appuyés =" + Str$(Manette.dwButtonNumber) + vbLf _
              + "état boutons =" + Str$(Manette.dwButtons)

    End Sub



End Class
 
 

6 réponses

NHenry Messages postés 15025 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 novembre 2022 157
8 oct. 2011 à 14:33
Bonjour,

Parfois .NET réorganise les champs, penses toujours à mettre :
<StructLayout (LayoutKind.Sequential, CharSet:=CharSet.Auto)> Structure
Pour éviter la réorganisation des champs

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
0
letrix Messages postés 2 Date d'inscription lundi 5 septembre 2011 Statut Membre Dernière intervention 8 octobre 2011
8 oct. 2011 à 15:01
j'ai essayer mais rien ne se passe je suis un peu perdu...
0
NHenry Messages postés 15025 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 novembre 2022 157
8 oct. 2011 à 15:08
Bonjour,

Ton programme ne se charge pas
As-tu vérifié l'objet de démarrage (propriété du projet) ?
Est-ce la seule Form de ton projet ?
Tu as vérifié en pas à pas et avec des points d'arrêt ?

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
0
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
9 oct. 2011 à 09:39
Bonjour,

et désolé de m'immiscer nHenry...

Tu dis être novice en .NET et ton code est du VB6 (la catégorie aussi).

Avec quel langage programmes-tu exactement ? VB6 n'a rien à voir avec .NET.


Calade
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
NHenry Messages postés 15025 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 novembre 2022 157
9 oct. 2011 à 13:41
Bonjour,

Exacte Calade, il y a une erreur de catégorie, je déplace le message.
Merci :)

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
0
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
9 oct. 2011 à 13:58
Bonjour letrix,

Quelque chose me chiffonne à propos de ton code. Où l'as-tu récupéré ? Car en partant du principe que c'est bien du VB6 et non du .NET (ce qui reste finalement à confirmer), ce code est pourri d'erreurs de syntaxe.

Une fois corrigé toutes ces erreurs et lancé j'ai un magnifique label contenant des infos sur un éventuel joystick. N'en possédant pas je ne peux pas faire d'essais mais cela prouve qu'il tourne.


Calade
0