Comment limiter les mouvement de la souris dans un rayon quelconque??

Fermé
franki3 Messages postés 41 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 23 novembre 2006 - 16 nov. 2006 à 03:28
 cs_Delphiprog - 25 nov. 2006 à 09:37
Bonjour,

Je joue a des jeux flash et cest chiant de sortir de la fenetre du jeu et se mettre a clicker dans le vide pendant que jme fait tirer dessus. Donc jaimerais savoir comment faire pour empecher ma souris daller plus loin que la fenetre dans lequel je joue. Cest a dire defenir un perimetre precis ou ma souris ne doit pas depasser. Jai regarder des code et tout mais je comprend pas comprend pas vriament. Jai downloader des code mais quand je les ouvre avec visual basic sa ouvre la source et non le code en question(resultat finale). EN tk je comprend qua moitier et jai besoin daide.

Au pire sil existe ue autre facon que par sa... Et bien je serai content dle savoir

merci

Franki

36 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
16 nov. 2006 à 04:53
Salut,

tiens, avec ce code, dès que tu sors de la fenêtre, la souris se replace dans le coin supérieur gauche de la form :

Option Explicit

Private Type POINTAPI
    x As Long
    y As Long
End Type
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
Private Declare Function GetForegroundWindow Lib "user32" () As Long
Dim PosCur As POINTAPI

Private Sub Form_Load()
    Me.ScaleMode = vbPixels
    Timer1.Interval = 100
End Sub

Private Sub Timer1_Timer()
    Call GetCursorPos(PosCur)
    If PosCur.x < (Me.Left / 15) Or PosCur.x > (Me.Left / 15 + Me.Width / 15) Then Call SetCursorPos((Me.Left \ 15) + (Me.ScaleWidth \ 30), (Me.Top \ 15) + (Me.ScaleHeight \ 30))
    If PosCur.y < (Me.Top / 15) Or PosCur.y > (Me.Top / 15 + Me.Height / 15) Then Call SetCursorPos((Me.Left \ 15) + (Me.ScaleWidth \ 30), (Me.Top \ 15) + (Me.ScaleHeight \ 30))

    If Me.hWnd <> GetForegroundWindow Then Call SetCursorPos((Me.Left \ 15) + (Me.ScaleWidth \ 30), (Me.Top \ 15) + (Me.ScaleHeight \ 30))
End Sub


--Mortalino--

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
16 nov. 2006 à 08:16
Utilises plutôt l'API ClipCursor

Elle sert exactement à cela : confiner le curseur dans une zone (rectangulaire) définie

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
16 nov. 2006 à 09:37
sur une Form :
Un bouton BRIDERCURSEUR, un bouton DEBRIDERCURSEUR et un bouton Command1 (pour quitter)

Option Explicit


Private Type RECT '-------------------------------|
  Left As Long ' gauche (de tout le coté gauche) |
  Top As Long ' haut (de tout le coté haut)      |    structure RECT
  Right As Long 'droite (de tout le côté droit)  |(définition d'un rectangle)
  Bottom As Long 'bas (de tout le côté bas)      |
End Type '---------------------------------------|


Private Type POINTAPI '---------------------|
  X As Long  'abcisse du point             |structure POINTAPI
  Y As Long  'ordonnée du point            |(coordonnées d'un point)
End Type '---------------------------------|


'La fonction ClipCursor "bride" le curseur à l'intérieur d'une surface rectangulaire de l'écran.
'En cas de succès : la valeur retournée est différente de 0
'En cas d'échec : la valeur retournée est 0 (l'appel de GetLastError permet alors d'en connaître les causes).
'lpRect : pointeur vers la structure RECT (la voir dans common.bas où elle est publique) qui contient les
'       coordonnées utiles du rectangle à l'intérieur duquel sera bridé le curseur.
Private Declare Sub ClipCursor Lib "user32" (lpRect As Any)
Private Declare Sub GetClientRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT)
Private Declare Sub ClientToScreen Lib "user32" (ByVal hwnd As Long, lpPoint As POINTAPI)
Private Declare Sub OffsetRect Lib "user32" (lpRect As RECT, ByVal X As Long, ByVal Y As Long)
Private etat As Boolean


Private Sub BRIDERCURSEUR_Click()
  Dim client As RECT
  Dim coinsupgauche As POINTAPI
  GetClientRect Me.hwnd, client 'On "pêche" les informations relatives à la feuille
  coinsupgauche.X = client.Left 'abcisse du coin supérieur gauche
  coinsupgauche.Y = client.Top 'ordonnée du coin supérieur droiut
  'on convertit alors les coordonnées de la feuille en coordonnées de l'écran
  ClientToScreen Me.hwnd, coinsupgauche
  'on positionne notre rectangle "limite"
  OffsetRect client, coinsupgauche.X, coinsupgauche.Y
  'et on limite les mouvements du curseur à l'intérieur de ce rectangle
  ClipCursor client
  etat = True
End Sub
Private Sub DEBRIDERCURSEUR_Click()
  ClipCursor ByVal 0& ' on débride le curseur
  etat = False
End Sub


Private Sub Command1_Click()
  If etat Then
   Dim decide As String, alerte As String
   alerte = "Attention ! si vous quittez maintenant, voitre curseur restera ''confiné''"
   alerte = alerte & vbCrLf & "même après avoir quitté cette application" & vbCrLf
   alerte = alerte & " est-ce ce que vous souhaitez vraiment ?"
   decide = MsgBox(alerte, vbYesNo + vbCritical + vbDefaultButton2, "")
   If decide = vbYes Then
     End
   End If
  Else
    End
  End If
End Sub

Je n'ai pas vu ce source déposé. J'ai peut-être mal cherché ...
Dois-le le déposer ?
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
16 nov. 2006 à 09:50
vbYesNo + vbCritical + vbDefaultButton2   => vbYesNo Or vbCritical Or vbDefaultButton2

penses a libérer la souris dans le Form_Unload

de plus, il ne s'agit que d'une traduction (en fr)  bête et méchante de l'exemple que l'on peut trouver sur allapi.net (dans ApiGuide)

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0

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

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
16 nov. 2006 à 12:51
salut,

peut-être mal cherché oui....
source/tuto ici

++
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
0
franki3 Messages postés 41 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 23 novembre 2006
16 nov. 2006 à 22:23
wowo merci mais je connait pas comment utiliser le visual basic. Jai le programme mais je ne sais pas comment executer votre code. JE suis dans la source et je fait koi apres??

Franki
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
16 nov. 2006 à 22:36
Le code de ce "programme" est à insérer dans ton application VB.
Car tu développes en VB, n'est-ce-pas ? (sinon : pourquoi serais-tu venu poser ta question sur ce forum dédié à VB ?).
0
franki3 Messages postés 41 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 23 novembre 2006
16 nov. 2006 à 22:47
Ben jai telecharger le tuto du gars. Jai pris clipsursor.frm et jlai ouvert avec visual basic express et sa mouvre une source. Mais je sais pas comment sa marche. Pourquoi on fait pas juste clicker et on a se que lon veux?? En tk je veux savoir comment que sa sexecute??

Et si je suis ici cest parce que jessai de savoir comment faire sa en VB. Le site nest pas dedier qua ceux qui font des code mais aussi a ceux qui demande de laide ;)

Franki
0
franki3 Messages postés 41 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 23 novembre 2006
17 nov. 2006 à 00:07
Aller juste me dire comment pouvoir limiter le deplacement dla souris sans menvoyer la source. SIL VOUS PLAIT :D

Franki
0
franki3 Messages postés 41 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 23 novembre 2006
17 nov. 2006 à 01:00
Se que je veux cest un programme ou une chose qui limite le mouvement de la souris grace a un perimetre que jindique moi meme dans mon ecran de windows. Et non dans un programme. FAut je puisse limiter le deplacement sur lecran en general

merci de votre reponse et sil vous plait depecher vous je nais pas beaucoup de temps dattendre merci merci

Franki
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
17 nov. 2006 à 08:16
"Le site nest pas dedier qua ceux qui font des code mais aussi a ceux qui demande de laide"
de l'aide en PROGRAMMATION,

tout ce que l'on te donneras, c'est du code source, et encore, si c'est bien demandé...
en floodant toi même ton post avec des "sil vous plait depecher vous" ou des
"Se que je veux cest un programme [...]. Et non dans un programme."

le code qui t'as été fournis, puisque tu dis utiliser VB Express. (d'ailleurs, ton post est lui même placé dans la section 'Visual Basic 6'....

bref,  [reglement.aspx Voir le règlement de CodeS-SourceS]

Je vois que ta question "polie" du départ était :
"Je joue a des jeux flash et cest chiant de sortir de la fenetre du jeu et se mettre a clicker dans le vide"

si tu trouves un code source qui permet d'arriver a tes fins, il te faudra de toutes façon le compiler, pour en faire un fichier executable.

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
franki3 Messages postés 41 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 23 novembre 2006
17 nov. 2006 à 13:57
Ok desoler. Mais en fait cest sa que je cherche a savoir. Comment compiler et mettre sa en executable??? Cest ce que je demande en faite depuis le debut. Jai pas de probleme davoir que les source code toute facon je suis pas si nul je suis quand meme capable de comprendre un peu le language. Mais cest juste que je sais pas comment le compiler et je demande de laide a vous

merci

Franki
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
17 nov. 2006 à 14:48
"Pourquoi on fait pas juste clicker et on a se que lon veux?? En tk je veux savoir comment que sa sexecute??"


Attendre le prochain outil de développement..
Super ! Hyper ! Wow !
Tu te mets devant ta machine, tu lui fais un clin d'oeil, elle te comprend (enfin.... si ton clin d'oeil est intelligible - à propos : elle ne comprendra que ce qui est écrit selon les règles et sans aucune faute, même pas une virgule, et en tout cas juamais le SMS - , ma foi,... sinon non...) et elle fait ...
Pour l'instant, on n'en est pas là et on remplace le clin d'oeil par du code (et la machine l'exécute s'il est compréhensible...).

Une autre solution pour ceux qui ne veulent que "cliquer" : acheter l'outil tout fait ou rémunérer un développeur pour faire (comme pour des costumes...) un outil "sur mesure"....
Celà te laisse des choix, ami... A toi de choisir ...
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
17 nov. 2006 à 17:39
Jette un oeil (voir les 2) ici :

http://www.allapi.net/apilist/ClipCursor.shtml

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
0
franki3 Messages postés 41 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 23 novembre 2006
17 nov. 2006 à 22:24
Mini Franki a dit:

Ok desoler. Mais en fait cest sa que je cherche a savoir. Comment
compiler et mettre sa en executable??? Cest ce que je demande en faite
depuis le debut. Jai pas de probleme davoir que les source code toute
facon je suis pas si nul je suis quand meme capable de comprendre un
peu le language. Mais cest juste que je sais pas comment le compiler et
je demande de laide a vous

merci
-----------

Merci pour le code mais on me la deja donner. La je cherche comment executer cette source la

Franki
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
17 nov. 2006 à 22:56
il te faut le compiler (avec le logiciel Visual Basic 6)

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
franki3 Messages postés 41 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 23 novembre 2006
18 nov. 2006 à 02:49
Pourquoi vous donner une reponse qui est ma question! Cest sa ma question: comment compiler
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
18 nov. 2006 à 04:18
menu fichier, créer projet1.exe, çà tombe pourtant sous le sens non?
tu sais faire fichier ouvrir? fichier enregistrer sous?
il n'y a jamais eu de tuto pour utiliser notepad....
y'a un minimum d'effort à fournir. désolé mais c'est abusé là !!!
pour dérouler le menu, tu veux aussi une notice pour utiliser la souris ??

un peu de sérieux!
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
0
franki3 Messages postés 41 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 23 novembre 2006
20 nov. 2006 à 00:46
Tu comprend pas encore toi. JUTILISE PAS BLOC NOTE LE CAVE!!!! Pi ya pas CREE dans le menu fichier dans Visual basic. Un peu de serieux toi meme. Quil est con se gars.

Franki
0
franki3 Messages postés 41 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 23 novembre 2006
20 nov. 2006 à 00:49
ah et aussi quand on debute la dedans on DEVINE PAS QUEL FORMAT FICHIER FAUT PRENDRE!!!!! Moi dans le fichier que jai ya Form_ClipCursor.frm. Quece que je fait avec ca pour avoir ce que je veux???

Avant de parler sil vous plait pense avec ta tete. Toi si chte demandait de me faire une animation flash tres avancer tu me ddemanderait direct en partant comment on fait. Donc arrete de penser avec ton nez

Franki
0
Rejoignez-nous