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

Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Dernière intervention
5 mai 2009
- 5 nov. 2007 à 18:22 - Dernière réponse :
Messages postés
444
Date d'inscription
mardi 27 mars 2007
Dernière intervention
1 mars 2011
- 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 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Dernière intervention
5 mai 2009
- 5 nov. 2007 à 21:53
3
Merci
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>

Merci cs_dragon 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de cs_dragon
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
- 5 nov. 2007 à 19:10
0
Merci
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
Messages postés
60
Date d'inscription
mercredi 9 novembre 2005
Dernière intervention
6 janvier 2009
- 5 nov. 2007 à 20:40
0
Merci
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
Messages postés
444
Date d'inscription
mardi 27 mars 2007
Dernière intervention
1 mars 2011
- 6 nov. 2007 à 11:47
0
Merci
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.