Besoin de cobayes pour une anomalie [Résolu]

jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 24 févr. 2007 à 11:41 - Dernière réponse : cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention
- 25 févr. 2007 à 18:54
Ma demande va, je le sais, paraître assez curieuse, mais ceux qui voudront bien tenter cette expérience contribueront peut-être à comprendre (ou à "cerner") ce qui se passe derrière tout celà.

On va commencer par mon enronnement personnel de travail

OS : Windows 2000 Pro
Version VB : VB5 Entreprise

ATTENTION (pour le cas où les choses se passeraient comme sur ma machine)
Sauvegardez et fermez vos travaux en cours avant de faire et de lancer la suite

projet :

Une form avec sa propriété Keypreviw = True et ce seul code :

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
  If KeyCode = 18 Then SendKeys "%{ENTER}"
End Sub

Maintenant,
1) lancer le run de ce projet depuis l'IDE (pas l'exe)
2) appuyer, dans cet ordre, sur les touches (demeurées pressées) CTRL + ALT + DEL

Celà conduit, chez moi, à l'apparition du dialogue habituel du gestionnaire de tâches, mais en même temps, à un blocage total de ma machine et donc à la nécessité d'une interruption forcée (par l'interrupteur) puis à un redémarrage.

Si certains vopulaient bien essayer dans leur environnement et nous dire si ce phénomène se produit également chez eux, ils ouvriraient sans doute la voie à une réflexion intéressante.
Comme ce phénomène n'est constaté chez moi qu'en utilisant le Run de l'IDE, VB a sans aucun doute une responsabilité dans cette affaire. (Aucun blocage en lançant l'exe obtenu de la compilation)

Merci d'avance à ceux qui voudront bien se prêter à cette expérience et rendre compte de ce que celà aura entraîné dans leur environnement.
Afficher la suite 

Votre réponse

19 réponses

Meilleure réponse
Charles Racaud 3181 Messages postés dimanche 15 février 2004Date d'inscription 9 avril 2017 Dernière intervention - 24 févr. 2007 à 12:20
3
Merci
Salut,

J'ai essayé, rien ne plante chez moi (je suis sous xp)
Chez moi, Ctrl+Alt+Suppr me fait ouvrir l'info de session.

Pour mieux testé, j'ai fait :
If KeyCode = 18 Then
  SendKeys "%{ENTER}"
  Beep
End If

J'ai le Beep en continue quand j'appui sur Alt, mais les combinaisons Ctrl+Maj+Escape ou Ctrl+Alt+Suppr me débloque tout.






__________
Kenji

Merci Charles Racaud 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 83 internautes ce mois-ci

Commenter la réponse de Charles Racaud
Meilleure réponse
vercomax 548 Messages postés mercredi 28 juillet 2004Date d'inscription 11 septembre 2013 Dernière intervention - 24 févr. 2007 à 12:53
3
Merci
pas de problème pour moi, apparition de info sesson et pas de blocage

Merci vercomax 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 83 internautes ce mois-ci

Commenter la réponse de vercomax
Meilleure réponse
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 24 févr. 2007 à 13:57
3
Merci
Salut à tous,

Idem, rien ne se passe chez moi, aucun blocage...
Win Xp Sp2 et Vb6 Sp5

A+
Exploreur

Merci cs_Exploreur 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 83 internautes ce mois-ci

Commenter la réponse de cs_Exploreur
Meilleure réponse
Charles Racaud 3181 Messages postés dimanche 15 février 2004Date d'inscription 9 avril 2017 Dernière intervention - 24 févr. 2007 à 13:59
3
Merci
Avec un DoEvents, j'ai une erreur 28 : Espace de pile insuffisant.
Sinon, je suis sous XP Home SP2 (Casy, c'est ma config qui fait que Ctrl+Alt+Suppr m'amène à l'info de session) et VB6 SP6.






__________
Kenji

Merci Charles Racaud 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 83 internautes ce mois-ci

Commenter la réponse de Charles Racaud
Meilleure réponse
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 24 févr. 2007 à 14:10
3
Merci
Il semblerait qu'il y est vraiment une spécificité, car le keyCode 18 correspond à vbKeyMenu donc à une touche Menu.

Personellement je n'ai jamais vu cette touche sur un clavier, donc ça vient bien je pense du fait que le système intercepte le ctrl+alt+supp pour afficher la page d'ouverture de session donc plus exactement de l'affichage de cette page.

pour info, normalement c'est supp que devrait intercepter keydown et supp correspond au keyCode 46

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #

Merci cs_casy 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 83 internautes ce mois-ci

Commenter la réponse de cs_casy
Meilleure réponse
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 24 févr. 2007 à 14:53
3
Merci
alt est bien l'appel du menu

Merci PCPT 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 83 internautes ce mois-ci

Commenter la réponse de PCPT
Meilleure réponse
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 24 févr. 2007 à 15:19
3
Merci
Effectivement, bien vu PCPT.

Alors j'ai refais le test, chez moi. Avec ctrl+alt+supp, rien s ce n'est l'ouverture du gestionnaire de tache.

Par contre avec Alt seul, blocage de l'appli. Dès qu'elle pert le focus, elle se débloque mais lide reste un peuu pertubé. Il suffit de rappuyer sur Alt pour tout remettre en ordre

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #

Merci cs_casy 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 83 internautes ce mois-ci

Commenter la réponse de cs_casy
vercomax 548 Messages postés mercredi 28 juillet 2004Date d'inscription 11 septembre 2013 Dernière intervention - 24 févr. 2007 à 11:51
0
Merci
vb5 ou vb2005 ?
Commenter la réponse de vercomax
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 24 févr. 2007 à 11:53
0
Merci
Bonjour vercomax,

VB5

Mais rien n'empêche de faire cette expérience avec VB2005 également (bien au contraire)


N'oublie surtout pas (pour le ca où) de sauvegarder et fermer tes travaux en cours, je te le rappelle
Commenter la réponse de jmfmarques
vercomax 548 Messages postés mercredi 28 juillet 2004Date d'inscription 11 septembre 2013 Dernière intervention - 24 févr. 2007 à 12:46
0
Merci
c'et quoi 'le run' en vb2005
Commenter la réponse de vercomax
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 24 févr. 2007 à 13:00
0
Merci
Un grand Merci à vous deux.
Charles, je ne sais toujours pas si c'est un problème d'OS différentes ou de versions VB différentes.

Autre curiosité découverte grâce à toi :
Si chez moi (VB5 + Win 2000 pro) j'ajoute le beep ===>> même phénomène mais avec, en plus, necessité de réinitialiser le Desktop au redémarrage !

Avec un peu de chances, passera par là un possesseur de VB5 (car je crois que c'est VB5 et non l'OS qui, finalement, est le véritable responsable)


 


Je laisse le sujet ouvert car je crois vraiment qu'il y a quelque chose d'intéressant "derrière"
Commenter la réponse de jmfmarques
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 24 févr. 2007 à 13:41
0
Merci
Charles, t'as quelle version d'XP ???

Chez moi (XP Pro), ctrl+alt+supp, m'ouvre le gestionnaire de tache.

Aucun bug, aucun problème de blocage, le beep n'es envoyer qu'une fois. Le tout avec VB6

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Commenter la réponse de cs_casy
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 24 févr. 2007 à 13:51
0
Merci
salut,
idem que casy
XP pro SP1 VB6 sp6, beep désactivé dans les param windows donc pas testé avec...
peut-être que le ctrl+alt+entree (celui de sendkeys) amène des soucis pour Win2K ou VB5
ou un dérivé de ctrl+arrêtdefil mais mettant VB et Win dans les choux
as-tu essayé avec un doevents avant le senkeys?

++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Commenter la réponse de PCPT
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 24 févr. 2007 à 14:45
0
Merci
Chez moi

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
  MsgBox KeyCode
End Sub

donne bien 18 si on appuie sur ALT
Commenter la réponse de jmfmarques
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 24 févr. 2007 à 15:45
0
Merci
peut-être une piste... jmfmarques, ta form contient-elle un menu?
le alt puis entrée (pas +) ouvre le menu par défaut, ou ouvre le menu system à défaut...

il est possible que l'appli gèle sur le down en continu si un menu est déroulé (peut-être invisible) puisque modal (comme la fonction popup)

simple supposition
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Commenter la réponse de PCPT
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 24 févr. 2007 à 16:55
0
Merci
Rebonjour;

D'abord un très grand Merci pour ce que vous avez bien voulu expérimenter

Il doit définitivement y avoir un problème inhérent à l'IDE de VB

Pour répondre à PCPT, d'abord : non : aucun menu ni même le mondre contrôle sur la Form

Mais vien maintenant le plus curieux :
en n'utilisant que la touche ALT, avec mon IDE VB : j'obtiens presque ce qu'obtient Casy, mais dans l'ordre suivant :
1) blocage apparent
2) perte des touches numériques
3) impossibilité de déclencher maintenant le gestionnaisre (par CTRL + ALT + DEL)
4) mais si j'appuie à nouveau sur ALT, il m'est cette fois possible de déclencher le gestionnaire de tâches par CTRL + ALT + DEL

Une espèce de "compromis", donc, entre ce qu'a Casy et ce que j'obtenais en allant, dès l'étape 1) à l'emploi de CTRL + ALT + DEL.

Je me suis donc demandé si je n'avais pas la berlue et ai recommencé, mais cette fois-ci en allant directement à CTRL + ALT + DEL ===>>> et là : plantage total sans possibilité aucune de "rattrapage" par un nouvel appui dsur ALT ...

Ma conclusion : oui, celà doit avoir quelque chose à voir avec la gestion des menus, comme vous l'avez entrevu. Et (l'IDE seul étant concerné par ce phénomène) je pense que l'IDE de VB5 et celui de VB6 ne réagissent pas de la même façon. Je ne crois pas que l'OS soit quant à lui concerné (encore que... si l'IDE sous-classe... tout demeure possible)

Bon... que dire et que faire ?
- Je valide les réponses qui ont apporté quelques éclaircissements
- Je remercie à nouveau

- et explique comment j'en suis arrivé à cette "expérimentation" : ayant réussi ce matin, en réponse à un anglophone, à faire un petit "truc" permettant de prendre en considération la frappe de la conjugaison de 2 lettres (pas de toutches autres que "normales") , par exemple G + K, il m'est idiotement venu l'idée folle que je pourrais tenter d'appliquer cette méthode à CTRL + ALT + DEL... sans succès, bien entendu... autre que, en "trifouillant" et m'amusant, que le plantage fortuit dénoncé..
Voilà !
Il faut m'enfermer..

Ceci dit : si vous avez besoin du truc (là j'y suis parvenu) permettant de faire reconnaitre la frappe de X + Z, je le mets là bien volontiers.

MERCI ENCORE MILLE FOIS..
Commenter la réponse de jmfmarques
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 25 févr. 2007 à 00:31
0
Merci
Bonsoir Jmfmarques,

Je souhaiterai "profiter du truc", si tu ne vois pas d'inconvénient bien sur..

Bonne soirée et bonne nuit !!

A+
Exploreur
Commenter la réponse de cs_Exploreur
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 25 févr. 2007 à 08:36
0
Merci
Bonjour Exploreur,

Ce n'est que la mise en oeuvre d'une petit mécanisme.

Voilà :

Private touche1 As Boolean, touche2 As Boolean


Private Sub Form_Activate()
   Me.KeyPreview = True
End Sub


Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
   controle_touche "C", "D", KeyCode  ' c'est ici que l'on décide des touches réactives (ici C + D)
End Sub


Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
    touche1 = False
    touche2 = False
End Sub


Private Sub controle_touche(T1, T2, KC)
   If touche1 And touche2 Then
      touche1 = False
      touche2 = False
   End If   If UCase(Chr(KC)) T1 Then touche1 True   If UCase(Chr(KC)) T2 Then touche2 True
   If touche1 And touche2 Then MsgBox T1 & "+" & T2 & " sont présenteùent enfoncés"
End Sub
Commenter la réponse de jmfmarques
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 25 févr. 2007 à 18:54
0
Merci
Bonsoir à tous

Merci Jmfmarques pour le truc...

A+
Exploreur
Commenter la réponse de cs_Exploreur

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.