Fermeture automatique d'une fenêtre msgbox

Signaler
Messages postés
7
Date d'inscription
lundi 28 novembre 2005
Statut
Membre
Dernière intervention
11 avril 2007
-
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
-
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

Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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>
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
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
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
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 #
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
 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
Messages postés
248
Date d'inscription
jeudi 3 février 2005
Statut
Membre
Dernière intervention
22 juin 2008

Ou alors tu utilise l'api messagebox qui ne bloque pas le processus
Messages postés
7
Date d'inscription
lundi 28 novembre 2005
Statut
Membre
Dernière intervention
11 avril 2007

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
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
 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