S'identifier

API
Documentation
Ressources
Trucs & astuces
Libre
Gabarits
Services

Membres
Participer
Visiter

Contact

Meilleure résolution
mode 800 x 600

Optimisé pour
IE v.5
Netscape v.6
mais surtout pour
Mozilla v.1
minimum

 


Membre de Click-FR®, Réseau francophone Paie-Par-Click

WaitForSingleObject

Date de parution : 12/08/2002 - Cette fiche API a été lue 1874 fois

Description

WaitForSingleObject suspend temporairement l'exécution d'un programme tant qu'un objet spécifié n'est pas dans un état précis ou qu'un laps de temps se soit écoulé. La fonction permet au programme d'attendre quelque chose avant de continuer son exécution. La fonction retourne une des valeurs suivantes :

WAIT_ABANDONED = 0x80
L'objet spécifié par hHandle n'a pas été libéré par son thread propriétaire avant que ce dernier soit terminé. L'objet est maintenant abandonné et son état est non signalé.
WAIT_FAILED = 0xFFFFFFFF
Fonction en échec. Utiliser GetLastError pour un message d'erreur étendu.
WAIT_OBJECT_0 = 0x0
L'objet spécifié par hHandle est dans l'état signalé.
WAIT_TIMEOUT = 0x102
Période de temps écoulé

Syntaxe

AppelDll32("kernel32", "WaitForSingleObject", hObject, dwTimeOut)

hHandle

Un handle pour l'objet qui attend d'entrer dans un état signalé.

dwMilliseconds

La période de temps à attendre. La fonction retournera WAIT_TIMEOUT si celle-ci est écoulée.

 

Compatibilité

  • Windows 9x : supporté.
  • Windows NT : réclame Windows NT 3.1 ou plus.
  • Windows 2000 : supporté.

Remarque

Aucune

Exemple 1

// Ouvrir un fichier texte et attendre que l?utilisateur
// le ferme pour continuer le traitement
sei est un SHELLEXECUTEINFO
retVal est un entier long
verbe est une chaîne Asciiz sur 32
nomFic est une chaîne Asciiz sur 260
WAIT_TIMEOUT est un entier long = 0x102

verbe = "open"
nomFic = "c:\Temp\toto.txt" // Votre fichier
sei:cbSize = Dimension(sei)
sei:hWnd = Handle()
sei:fMask = 0x40 // SEE_MASK_NOCLOSEPROCESS 
sei:lpVerb = &verbe
sei:lpFile = &nomFic
sei:nShow = 1

retVal = AppelDll32("shell32", "ShellExecuteEx", &sei)
Si retVal = 0 Alors
   // Echec, se reporter au code erreur...
   Erreur("Erreur " + sei:hInstApp)
   // Du code offert par Beaussier en ligne !
Sinon
   Boucle
      retVal = AppelDll32("kernel32", ...
            "WaitForSingleObject", sei:hProcess, 0)
      Si retVal <> WAIT_TIMEOUT Alors Sortir
   Fin
   Info("Le fichier " + nomFic + " a été fermé !")
Fin


Nombre de commentaire sur WaitForSingleObject : 0

Rappel : Le code fourni est compatible Windev v.4 et 5. Pour les versions supérieures, vous devez modifier le type des variables numériques. Par exemple : entier long devient entier.
Bien sûr, les marques citées sont déposées par leurs sociétés respectives. Ces pages sont à la disposition de tous, le code fourni est libre mais toute responsabilité est déclinée en cas de mauvais usage ou de dysfonctionnement.
© 2000-2005 Beaussier & Le Centre W..D..