Utiliser Keycode pour un Timer [Fermé]

Messages postés
7
Date d'inscription
dimanche 27 septembre 2015
Dernière intervention
30 septembre 2015
- - Dernière réponse : ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
- 29 sept. 2015 à 03:43
Bonjour,

Je voudrais que quand j'appuie sur la touche F1, il y ait un mot qui s'écrive.
J'ai essayé mais le KeyCode ne marche pas.
Mon code :
Imports System.Runtime.InteropServices

Public Class Form1

<DllImport("user32.dll", SetLastError:=True)> _
Private Shared Function RegisterHotKey(ByVal hWnd As IntPtr, ByVal id As Integer, ByVal fsModifiers As UInteger, ByVal vk As UInteger) As <MarshalAs(UnmanagedType.Bool)> Boolean
End Function

Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
If (GetAsyncKeyState(118)) Then

End If
SendKeys.Send(":planter x")
SendKeys.Send("{Enter}")
SendKeys.Send(":planter x")
SendKeys.Send("{Enter}")
Timer1.Stop()
End Sub

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Timer1.Start()
'keycode a = 118
End Sub

Private Function GetAsyncKeyState(p1 As Integer) As Boolean
Throw New NotImplementedException
End Function

End Class


Merci à vous.
Cordialement,
Afficher la suite 

3 réponses

Messages postés
12406
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
16 décembre 2018
0
Merci
Bonjour

Il te suffit de te servir de l'événement KeyDown de ta form.

    Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown
        If e.KeyCode = Keys.F1 Then
            'ici ce que tu veux faire
        End If
    End Sub

Whismeril
Messages postés
12406
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
16 décembre 2018
-
et pas besoin de tout le code que tu as montré, tu peux tout supprimer
hugoof
Messages postés
7
Date d'inscription
dimanche 27 septembre 2015
Dernière intervention
30 septembre 2015
-
Merci bien j'essaie ça :p
hugoof
Messages postés
7
Date d'inscription
dimanche 27 septembre 2015
Dernière intervention
30 septembre 2015
-
Donc ça ferait
Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown
If e.KeyCode = Keys.F1 Then
Timer1.Start()
End If
End Sub
hugoof
Messages postés
7
Date d'inscription
dimanche 27 septembre 2015
Dernière intervention
30 septembre 2015
-
Voici mon code, ça ne marche pas :/

Imports System.Runtime.InteropServices

Public Class Form1

<DllImport("user32.dll", SetLastError:=True)> _
Private Shared Function RegisterHotKey(ByVal hWnd As IntPtr, ByVal id As Integer, ByVal fsModifiers As UInteger, ByVal vk As UInteger) As <MarshalAs(UnmanagedType.Bool)> Boolean
End Function

Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
SendKeys.Send(":planter x")
SendKeys.Send("{Enter}")
SendKeys.Send(":planter x")
SendKeys.Send("{Enter}")
Timer1.Stop()
End Sub

Private Sub Form1_KeyDown(sender As System.Object, e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
If e.KeyCode = Keys.F3 Then
Timer1.Start()
End If
End Sub
End Class
Whismeril
Messages postés
12406
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
16 décembre 2018
-
Non soit j'ai pas compris ce que tu veux faire,
faut dire qu'avec aussi peu de détails... On sait pas ou ton mot doit s'écrire, si ton appli tourne en premier plan etc...

J'ai donc répondu au plus simple, soit écrire un mot quelque part sur la form (un textbox par exemple) et avec l'appli en premier plan.

    Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown
        If e.KeyCode = Keys.F1 Then
            textbox1.text = "Bonjour"
        End If
    End Sub


et rien d'autre.

Maintenant si ton besoin est autre.

Il faut être précis et exhaustif
Messages postés
12406
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
16 décembre 2018
0
Merci
L'aide par MP est interdite par la charte.

Les questions doivent être posées sur le forum et il faut apprendre à patienter que quelqu'un réponde.
Nous sommes bénévoles, notre priorité n'est pas de répondre sur les forums, mais de vivre notre vie.
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
0
Merci
Bonjour, Whismeril,
La lecture complète de ceci :
https://openclassrooms.com/forum/sujet/vb-associer-une-touche-a-un-bouton
devrait, je pense, t'éclairer sur ce qu'il veut faire et pourquoi il veut le faire.
Amitiés
Whismeril
Messages postés
12406
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
16 décembre 2018
-
Bonsoir Uc, Ok, cependant, je n'ai pas vraiment le temps de chercher des explications que l'on ne me fournit pas.
Et un MP après 10 minutes de "silence" de ma part ne m'incite pas à faire plus d'efforts de compréhension.

Si la question avait été bien posée dès le départ, j'aurais tout simplement passé mon chemin, ne sachant pas y répondre....
ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
> Whismeril
Messages postés
12406
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
16 décembre 2018
-
Tout-à-fait,
Et nous ne sommes pas là pour l'aider à utiliser VB à la seule fin de tricher en ligne.
Je ferme donc cette discussion.

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.