IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Contrôler un joystick depuis une appli Windev


Sujet :

WinDev

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 9
    Points : 5
    Points
    5
    Par défaut Contrôler un joystick depuis une appli Windev
    Bonsoir à tous,

    Je me suis mis à Windev depuis peu. Je cherche un moyen d'afficher la position d'un joystick dans une application. Il est apparement possible d'utiliser des APIs DirectX pour cela, mais je ne sais pas du tout comment cela se programme sous windev.

    Quelqu'un aurait-il un exemple simple à me proposer ?

    D'avance merci,

    Cyb

  2. #2
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Bonjour,
    J'essaie d'utiliser JoygetPos. En respectant ce qu'indique WDAPI, le soft me renvoie une erreur : "Module introuvable". L'un d'entre vous a t-il déja essayer de programmer un joystick a l'aide d'API ? Les exemples sur le net ne manque pas en C, mais pas avec windev, et je ne sais pas convertir, surtout que windev n'utilise pas windows.h

    D'avance merci pour une réponse,

    Cyb

  3. #3
    Membre confirmé
    Profil pro
    Freelance
    Inscrit en
    Avril 2003
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Avril 2003
    Messages : 393
    Points : 492
    Points
    492
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    S_JOYINFO est une structure
    	wXpos     est un entier sans signe
    	wYpos     est un entier sans signe
    	wZpos     est un entier sans signe
    	wButtons est un entier sans signe	
    FIN
    pji est un S_JOYINFO
    posJoy est un entier = API ("Winmm","joyGetPos",0,&pji)
    SELON posJoy
    	// faut quand meme reverifier les valeurs
    	CAS 6: 	// MMSYSERR_NODRIVER
    	CAS 11: // MMSYSERR_INVALPARAM
    	CAS 167: // JOYERR_UNPLUGGED
    	AUTRE CAS
    FIN
    Plus d'info, voir:
    http://msdn.microsoft.com/en-us/libr...52(VS.85).aspx

    NB: Si ca te renvoi module introuvable, soit la dll n'ait pas présente, soit c'est la fonction qui ne l'ait pas. Donc:
    - T es sous quel OS ?
    - La dll est t elle présente ?
    - Si oui, la fonction est elle présente dans la DLL ?

    A+
    Vince
    http://vroy1.free.fr/

  4. #4
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Bonjour VincentRoy,

    Je me suis rendu compte que le format d'exemple utilisé dans WDAPI est faux. Je m'explique, dans ce module, pji est défini comme un entier, alors qu'il doit être défini comme une structure joyinfo. Mon second problème était de convertir ceci : "ByRef pji" en instruction windev. Ce que tu as fait très bien, si j'ai tout compris, cela s'exprime &pji dans l'appel de l'API.

    Pour infos, je suis sous win XP, la dll est bien présente, j'ai fait un appel depuis joynumdevs et cela fonctionne, la fonction renvoie 16. Pour ce qui est de la présence de la fonction dans la dll, j'espère bien qu'elle y est

    Merci en tout cas de ton aide, je commençais à désespérer. Pour infos, où as- tu trouver a quoi correspondent les valeurs retournées ? Dans mon cas, j'ai bien la valeur 11 en reour, mais je ne savais pas que cela correspondait à MMSYSERR_INVALPARAM.

    En tout cas, encore merci, je teste et je confirme le fonctionnement.

    Cordialement,

    Cyb

  5. #5
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Re,

    Effectivement, ça marche nickel maintenant. Merci beaucoup pour les infos.
    Problème résolu

    Cordialement,

    Cyb

  6. #6
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Heuuu, désolé, encore une question
    Pas facile d'être débutant. Lorsque je crée un bouton pour avoir accès à la calibration du joystick via "joy.cpl", cela ne marche pas (aucune action après clic sur le bouton). J'ai pourtant configuré apparemment correctement le lien vers windows\system32\ . L'appli n'est pas considérée comme un exe ?
    Merci,

    Cyb

  7. #7
    Membre confirmé
    Profil pro
    Freelance
    Inscrit en
    Avril 2003
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Avril 2003
    Messages : 393
    Points : 492
    Points
    492
    Par défaut
    Salut,
    "Pour infos, où as- tu trouver a quoi correspondent les valeurs retournées ? "
    => Tout simplement en utilisant google

    Sinon le fichier joy.cpl n'est pas un exécutable mais une DLL. Pour la lancer en tant qu'application, il faut utiliser lanceappli avec cette ligne de commande:
    rundll32 shell32.dll, Control_RunDLL "C:\windows\system32\joy.cpl"

    Bon dev
    a+
    Vince
    http://vroy1.free.fr

  8. #8
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    OK,

    Ca fonctionne a condition de respecter le format suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    resultat=LanceAppli("rundll32 shell32.dll, Control_RunDLL C:\windows\system32\joy.cpl")
    C'est cooooool, merci VincentRoy

    Cyb

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Passage d'une collection depuis une Appli java
    Par Florent Coulon dans le forum iReport
    Réponses: 2
    Dernier message: 09/11/2006, 11h30
  2. lancer une macro excel depuis une appli access
    Par LostIN dans le forum Access
    Réponses: 1
    Dernier message: 22/08/2006, 11h10
  3. Tester l'existence d'un package depuis une appli.net
    Par meuledor dans le forum Oracle
    Réponses: 3
    Dernier message: 27/09/2005, 16h18
  4. Réponses: 5
    Dernier message: 15/07/2004, 23h28
  5. Réponses: 1
    Dernier message: 22/08/2002, 17h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo