DirectInput manipulation de la souris. [Résolu]

KcHeY 261 Messages postés dimanche 23 mai 2004Date d'inscription 22 septembre 2012 Dernière intervention - 17 mars 2012 à 15:28 - Dernière réponse : KcHeY 261 Messages postés dimanche 23 mai 2004Date d'inscription 22 septembre 2012 Dernière intervention
- 16 mai 2012 à 11:16
Bonjour à tous,

Un petit screen pour commencer :


Le but de mon programme, reproduire des actions que j'ai au préalable configuré.
Donc quand j'appui sur start, les éléments de ma listbox se sélectionne chacun leur tour, les uns après les autres.
A chaque fois qu'un item est séléctionné, une action se déroule suivant ce que contient cet item....
Exemple :
 If InStr(LBexecute.SelectedItem, "Cursor.Position.X=") > 0 Then
                positionducurseur()


Donc si l'item contient Cursor.Position.X=, ça lance la function position curseur.

Function positionducurseur()
        If InStr(Form1.LBexecute.SelectedItem, "Cursor.Position.X=") > 0 Then
            XX = Replace(Form1.LBexecute.SelectedItem, "Cursor.Position.X=", "")
        ElseIf InStr(Form1.LBexecute.SelectedItem, "Cursor.Position.Y=") > 0 Then
            YY = (Replace(Form1.LBexecute.SelectedItem, "Cursor.Position.Y=", ""))
            SetCursorPos&(XX, YY)
        End If
        Return (0)
    End Function




J'utilise SetCursorPos et pour le clique, MouseEvent.
Je peux par exemple simuler : clique sur démarer > blocnote > fichier > Nouveau > j'ecris du texte > j'enregistre le fichier.
Ca fonctionne niquel !
Comme vous l'aurez certainment compris, le problème est que ça ne fonctionne pas pour tout les programmes.
Après de multiple tentative et de multiple recherche, j'en est déduit que je devais utiliser DirectInput.
J'ai télécharger DirectX SDK juin 2010, à la fin de l'install j'ai une erreur qui me dis que directx est utilisé et ne peux pas finir l'installation.
Je fais un Unlocker sur le fichier utilisé, je m'apperçois que c'est explorer.exe qui utilise le fichier.
Je relance donc l'install, en arretant le processus explorer.exe, mais même erreur à la fin.
Je test donc le DSK sum2004, il se télécharge bien etc, mais quand je test les exemples fourni à l'interieur j'ai toujours des erreurs.

En bref, je souhaiterai pouvoir déplacer ma souris et cliqué via DirectInput et tout les exemples que j'ai pu trouver, y compris dans la msdn (que je ne met pas en doute!) je ne parvient pas à ne serai-ce que faire bouger ma souris....

Quelqu'un pourrai t-il m'aiguiller s'il vous plait ?
Je sais que le sujet à était traiter XXXXX fois, et croyez moi 3 jours non stop (sauf pour dormir huhu) que je suis dessus!
Can you help me please !? S.O.S

Bonne journée et désolé de vous avoir tant fait lire pour au final une simple demande.

Cdlt.
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
NHenry 14250 Messages postés vendredi 14 mars 2003Date d'inscription 10 août 2018 Dernière intervention - 15 mai 2012 à 21:08
3
Merci
Bonjour,

Pour avoir eu le cas avec VNC, si l'application sur laquelle tu veux cliquer n'est pas du même compte (par exemple, lancée en tant qu'administrateur), le clics ne passent pas.

Voir si c'est ton cas.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]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

Merci NHenry 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 72 internautes ce mois-ci

Commenter la réponse de NHenry
KcHeY 261 Messages postés dimanche 23 mai 2004Date d'inscription 22 septembre 2012 Dernière intervention - 17 mars 2012 à 16:10
0
Merci
PS: J'utilise Visual Basic 20100 express.
Je viens d'essayer ce prog : Tapez le texte de l'url ici. "BomberMan-Like" et comme dans beaucoup de mes tentatives une erreur reviens souvent :

{"Impossible de charger le fichier ou l'assembly 'Microsoft.DirectX.Direct3D.dll' ou une de ses dépendances. n'est pas une application Win32 valide. (Exception de HRESULT : 0x800700C1)"}

Pourtant quand je vais dans C:\Windows\assembly\..\... je trouve bien ces dll.

Serai en rapport avec mon Vista 64 bit ?
Commenter la réponse de KcHeY
KcHeY 261 Messages postés dimanche 23 mai 2004Date d'inscription 22 septembre 2012 Dernière intervention - 19 mars 2012 à 13:55
0
Merci
Sujet tabou ?
Commenter la réponse de KcHeY
NHenry 14250 Messages postés vendredi 14 mars 2003Date d'inscription 10 août 2018 Dernière intervention - 24 mars 2012 à 00:48
0
Merci
Bonjour,

DirectInput sert uniquement à capturer les entrées (souris, clavier et joystick principalement).
Je ne comprend pas bien le but.
Si c'est pour simuler les actions, les API Windows, sont une base, mais si ça ne fonctionne pas, je ne connais pas d'autres alternatives.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]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
Commenter la réponse de NHenry
KcHeY 261 Messages postés dimanche 23 mai 2004Date d'inscription 22 septembre 2012 Dernière intervention - 24 mars 2012 à 00:59
0
Merci
Salut,

Merci d'etre passé.

Le but est de reproduire des actions enregistrer, ça fonctionne, mais sur certaine fenêtre comme celle de WLM, ça ne réagi plus dès qu'il prend le focus.
Je m'y remettrai plus tard car j'ai dejà fait beaucoup de recherche même sur les sites en Anglais.
Il dois pourtant bien avoir une façon pour simuler un clique physique!

Bonne soirée et merci encore d'avoir pris le temps d'être passé.

++
Commenter la réponse de KcHeY
KcHeY 261 Messages postés dimanche 23 mai 2004Date d'inscription 22 septembre 2012 Dernière intervention - 12 mai 2012 à 10:59
0
Merci
Bonjour,

Je reviens sur ce sujet car je viens de me rendre compte d'une chose étonnante.
En fait, si mes deplacements + clique ne fonctionnent pas ce n'est pas à cause de mon programme, mais à cause de mon pc....

Je suis sur mon pc fixe qui tourne sous vista 64 bit, et les cliques ne fonctionnent pas dans certains programmes, sur mon pc portable qui lui tourne sur seven 64bit aussi si je ne me trompe pas, tout fonctionne....

Il y a t-il une solution ? Appart émuler une autre version de Windows ?
Commenter la réponse de KcHeY
KcHeY 261 Messages postés dimanche 23 mai 2004Date d'inscription 22 septembre 2012 Dernière intervention - 16 mai 2012 à 11:14
0
Merci
Bonjur NHenry merci pour ta XXXeme réponse :p
Tu met le doigt sur quelque chose d'intéréssant.
En fait je suis (normalement) administrateur de mon pc, mais il me semble avoir entendu parler de super administrateur ou quelque chose comme ça.
Mais c'est vrai que j'ai meme pas essayer clique droit > executer en tant qu'administrateur.
Je vais test de ce pas.
.....
Mdr..
C'est pas possible ça, ça fonctionne Oo

Bon ben merci beaucoup encore une fois t'as la solution!!

Bonne journée :)
Commenter la réponse de KcHeY
KcHeY 261 Messages postés dimanche 23 mai 2004Date d'inscription 22 septembre 2012 Dernière intervention - 16 mai 2012 à 11:16
0
Merci
En fait c'est pas l'application qui recois le clique qui posé problème, j'ai juste lancé mon programme en tant qu'administrateur.
Commenter la réponse de KcHeY

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.