Détection d'une touche appuyée au démarrage de l'application [Résolu]

cs_dragon 2336 Messages postés samedi 14 juillet 2001Date d'inscription 5 mai 2009 Dernière intervention - 5 nov. 2007 à 18:22 - Dernière réponse : JM247L 444 Messages postés mardi 27 mars 2007Date d'inscription 1 mars 2011 Dernière intervention
- 6 nov. 2007 à 11:47
Bonjour à tous,

je cherche une façon de détecter en VB.net 2005 si l'aplication a été démarré avec une touche enfoncé

genre Shift + Enter, au lieu de juste Enter

Sinon ça serait de détecter si une touche est enfoncé en pleins milieu de mon code

Je veux ajouter une fonction qui me permettrait de démarrer mon application normallement, mais si une touche est enfoncé, il ouvre une fenêtre de débogage.

J'aimerais le moins possible avoir 2 EXE différents, je préfèrais qu'une touche les sépares et si la bonne touche est enfoncé, qu'une fenêtre de mot de pass apparait.

Donc il faut soit détecter si une touche est enfoncé à l'ouverture de l'application  ou si rendu à ma validation s'il y a une touche appuyéé J'aimerais le moins possible avec un keypress ou un keyDown

-------------------------------------------------
Dragon alias aussi Waxime mais bon, pas le gout de refaire un nouveau profil lol
-------------------------------------------------
Afficher la suite 

4 réponses

Répondre au sujet
cs_dragon 2336 Messages postés samedi 14 juillet 2001Date d'inscription 5 mai 2009 Dernière intervention - 5 nov. 2007 à 21:53
+3
Utile
voici la solution

Public Class Main
    Inherits System.Windows.Forms.Form
    Implements IMessageFilter

    Const WM_KEYDOWN As Integer = &H100
    Public Sub New()
        Application.AddMessageFilter(Me)
        Application.DoEvents()
        Try
            Dim temp As New Form1(True)
            temp.Owner = Me
            Application.Run(temp)
            Try
                temp.NotifyIcon1.Visible = False
            Catch
            End Try
        Catch ex As Exception
            Dim temp As New frmErreur
            temp.Erreur = ex
            temp.ShowDialog()
        End Try
        End
    End Sub

    Public Function PreFilterMessage(ByRef m As System.Windows.Forms.Message) As Boolean Implements System.Windows.Forms.IMessageFilter.PreF<wbr>ilterMessa<wbr>ge
        Select Case m.Msg
            Case WM_KEYDOWN
                Dim keyCode As Keys = m.WParam
                If keyCode = Keys.F12 Then
                    VerifActivation.securityBypass = True
                End If
        End Select
    End Function
End Class

-------------------------------------------------
Dragon alias aussi Waxime mais bon, pas le gout de refaire un nouveau profil lol
-------------------------------------------------

</wbr></wbr>
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_dragon
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 5 nov. 2007 à 19:10
0
Utile
Salut
Comme expliqué dans l'aide de.Net, il te suffit d'utiliser ceci au moment où tu veux l'info, au démarrage de ton appli ou plus tard :
   If My.Computer.Keyboard.ShiftKeyDown Then MsgBox("SHFT key down")

Pour tes histoires de double EXE, je n'ai rien compris

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Commenter la réponse de cs_Jack
tiblay 60 Messages postés mercredi 9 novembre 2005Date d'inscription 6 janvier 2009 Dernière intervention - 5 nov. 2007 à 20:40
0
Utile
Salut Dragon,

Tu peut utiliser un parametre quand tu ouverture de ton application, et tu la recupere avec Command dans les premiere ligne de ton code.  Moi j'utilise cette methode pour donner acces au menu configuration, cela evite les changements de configuration saccidentelle de la part des usagers. exemple   C:\Mon Programme /Config

Bye

TiBlay
Commenter la réponse de tiblay
JM247L 444 Messages postés mardi 27 mars 2007Date d'inscription 1 mars 2011 Dernière intervention - 6 nov. 2007 à 11:47
0
Utile
Bonjour,
Je passais par là et je me suis dit que quelqu'un aurait peut être la même chose sous VBA ... Le but étant de controler que la touche Shift n'est pas enfoncée au moment de l'ouverture d'un classeur Excel contenant du code
Merci d'avance
Cliquer "Réponse Acceptée" Quand C'est La Solution

Partageons Notre Savoir & Nos Acquis - JML
Commenter la réponse de JM247L

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.