cs_dragon
Messages postés2336Date d'inscriptionsamedi 14 juillet 2001StatutMembreDernière intervention 5 mai 2009
-
5 nov. 2007 à 18:22
JM247L
Messages postés443Date d'inscriptionmardi 27 mars 2007StatutMembreDerniè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
-------------------------------------------------
cs_dragon
Messages postés2336Date d'inscriptionsamedi 14 juillet 2001StatutMembreDernière intervention 5 mai 20096 5 nov. 2007 à 21:53
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
-------------------------------------------------
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 5 nov. 2007 à 19:10
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)
tiblay
Messages postés60Date d'inscriptionmercredi 9 novembre 2005StatutMembreDernière intervention 6 janvier 2009 5 nov. 2007 à 20:40
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
JM247L
Messages postés443Date d'inscriptionmardi 27 mars 2007StatutMembreDernière intervention 1 mars 20112 6 nov. 2007 à 11:47
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