Fermeture automatique d'une fenêtre msgbox

pccrash74 Messages postés 7 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 11 avril 2007 - 30 mars 2007 à 16:06
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 - 2 avril 2007 à 15:41
Bonjour,

Comment fermer automatiquement une fenêtre Msgbox après 30sec d'affichage, sans intervention de l'utilisateur?

Merci pour vos réponses

7 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
30 mars 2007 à 16:11
Salut,

il suffit de chercher le handle de ta MsgBox (avec le titre de la fenêtre) via l'API FindWindow, et un timer qui ferme ta MsgBox au bout de 30 secondes via l'API CloseWindow

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
30 mars 2007 à 16:20
si la msgbox n'est pas dans ton programme, oui (le FindWindo a blinder avec une verification du ProcessIDà

si c'est dans ton programme, moins évident ^^
puisque la MsgBox prend la main...
solution ? hooker la MsgBox

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
30 mars 2007 à 16:22
Le problème étant que la messagebox étant affichée en modal, tout code suivant l'appel à la messagebox ne sera executer que lorsque cette dernière sera fermée.

La solution la plus simple consiste à laisser tomber la messagebox classique de VB et de te faire ta propre messagebox à partir d'une banale form et d'y gerer dedant la durée d'affichage. Deplus te pourra même de cette manière en gérer les différents paramètres comme la taille ou le couleur du texte, la couleur de la fenetre, plus tout ce que tu peux imaginer. Tout cela n'étant pas possible avec celle de VB

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
30 mars 2007 à 16:38
 Bonjour à tous

Il y a aussi le Popup.

Dim WshShell, BtnCode
Set WshShell = WScript.CreateObject("WScript.Shell")



BtnCode = WshShell.Popup("Comment allez-vous ?", 7, "Repondez à la question:", 3 + 32)



Select Case BtnCode
   case 6      WScript.Echo "Je suis ravi d'apprendre que vous allez bien."
   case 7      WScript.Echo "J'espère que vous irez mieux."
   case -1     ' WScript.Echo "Y-a-t-il quelqu'un ?"
   case 2      WScript.Echo "Bouton annuler: Y-a-t-il quelqu'un ?"
End Select



MsgBox "suite"



jean-marc
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ratala Messages postés 248 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 22 juin 2008
30 mars 2007 à 17:18
Ou alors tu utilise l'api messagebox qui ne bloque pas le processus
0
pccrash74 Messages postés 7 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 11 avril 2007
2 avril 2007 à 14:46
La solution du Popup est très interessante, mais est-il possible de supprimer l'affichage du bouton OK?
Je voudrais juste afficher une fenêtre d'information qui se fermera automatiquement au bout de 10 sec.

Merci
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
2 avril 2007 à 15:41
 Bonjour

Les options du popup sont limitées...

Const TIMEOUT = 5
Set objShell = WScript.CreateObject("WScript.Shell")



Reponse = objShell.Popup(vbCrLf & _
 "Ce Popup remplace un MsgBox" &vbCrLf&vbCrLf& "Sans action de votre part," &vbCrLf&vbCrLf&_
  "ce popup s'effacera dans " &vbCrLf& TIMEOUT & " secondes" &vbCrLf&vbCrLf&_
  "Vous ne pouvez pas fermer ce popup par la croix !!!" ,TIMEOUT, _
  "MsgBox personnalisé",2)
 
Select Case Reponse
   Case vbYes: objShell.Popup "Vous avez cliqué sur Oui" & vbCrLf & vbCrLf & vbCrLf,TIMEOUT
   Case vbNo:  objShell.Popup "Vous avez cliqué sur Non" & vbCrLf & vbCrLf & vbCrLf,TIMEOUT
   Case -1:    Wscript.Quit
End Select





Button Types






Value |
Description |

----

0,
Show OK button.,

----

1,
Show OK and Cancel buttons.,

----

2,
Show Abort, Retry, and Ignore buttons.,

----

3,
Show Yes, No, and Cancel buttons.,

----

4,
Show Yes and No buttons.,

----

5,
Show Retry and Cancel buttons.






jean-marc
0
Rejoignez-nous