Dominoarea.org Index du Forum Dominoarea.org
 Forum, Téléchargement Lotus Domino/Notes en Français 
 FAQFAQ   PartenairesPartenaires   RechercherRechercher   Liste des MembresListe des Membres   Groupes d'utilisateursGroupes d'utilisateurs 
 S'enregistrerS'enregistrer   ConnexionConnexion 
La date/heure actuelle est 06 Sep 2010 à 17:15
Toutes les heures sont au format UTC + 1
Voir les nouveaux messages depuis votre dernière visite
Voir les messages sans réponses
 Index du Forum » IBM-Lotus Domino » Trucs et Astuces » Développement » LotusScript » API
fermer la fenêtre active
Modérateurs: Modérateur
Poster un nouveau sujet   Répondre au sujet Voir le sujet précédentVoir le sujet suivant
Page 1 sur 1 [2 messages]  
Auteur Message
Michael DELIQUE
Administrateur
Administrateur


Inscrit le: 16 Déc 2004
Messages: 9452
Warnings: 0 0 Warnings
Spécialité: Développeur
Localisation: Paris/Cergy
Pays:
Sexe:
Age: 38
Navigateur:
 fermer la fenêtre active

Code:
Public Sub CloseActiveWindow_API(wTitreFenetreAfermer As String)
   
%REM
'   Variables API pour la fonction CloseActiveWindow_API
Declare Function GetForegroundWindow Lib "User32" Alias "GetForegroundWindow" () As Long
Declare Function GetWindow Lib "user32" Alias "GetWindow" (Byval HWND As Long, Byval UINT As Integer) As Long
Declare Function GetWindowTextLength Lib "user32.dll" Alias "GetWindowTextLengthA" (Byval hwnd As Long) As Long
Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (Byval HWND As Long, Byval LPTSTR As String, Byval nMaxCount As Integer) As Integer
Declare Function PostMessage Lib "user32" Alias "PostMessageA" (Byval HWND As Long, Byval UINT As Integer, Byval WPARAM As Integer, Byval LPARAM As Integer) As Integer
   Const GW_CHILD = 5
   Const GW_HWNDNEXT = 2
   Const WM_CLOSE = 16
%END REM
   
   'Déclaration Variables
   Dim hwnd As Long
   Dim hwndMDI_1 As Long
   Dim hwndChild As Long
   Dim nRet As Integer
   Dim iLongueurTitreFenetre As Integer
   Dim sTitreFenetre As String
   
   On Error Goto ErreurCloseActiveWindow_API
   
   hwnd = GetForegroundWindow() 'obtention du handle de la fenêtre Notes actuelle
   hwndMDI_1 = GetWindow( hwnd , GW_CHILD ) 'obtention du handle de la liste de fenêtres ouvertes (Multiple Document Interface)
   hwndChild = GetWindow( hwndMDI_1 , GW_CHILD ) 'on parcours toutes les fenêtres actives et dès que le titre de la fenêtre à fermer est trouver, on ferme la vue
   
   While hwndChild > 0
      iLongueurTitreFenetre = GetWindowTextLength(hwndChild)
      sTitreFenetre = String$(iLongueurTitreFenetre, " ") + Chr$(0)
      Call GetWindowText(hwndChild, sTitreFenetre, 100)
      
      If Left(sTitreFenetre, iLongueurTitreFenetre) = wTitreFenetreAfermer Then
         Call PostMessage(hwndChild, WM_CLOSE, 0, 0 )
      End If
      hwndChild = GetWindow( hwndChild , GW_HWNDNEXT )
   Wend
   
   Exit Sub
ErreurCloseActiveWindow_API:
   Msgbox "("+Cstr(Getthreadinfo (1))+" Call by "+Cstr(Getthreadinfo(10))+")"+Chr(10)+"Erreur " + Str(Err) + " : "+Chr(10) + Cstr(Error)+". "+Chr(10)+"Ligne N° "+Cstr(Erl),16," ERREUR !"
   Exit Sub
End Sub

_________________
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN

MessagePosté le: 05 Nov 2007 à 17:58
 Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur MSN Messenger
 Numéro ICQ 
 Revenir en haut de page 
Michael DELIQUE
Administrateur
Administrateur


Inscrit le: 16 Déc 2004
Messages: 9452
Warnings: 0 0 Warnings
Spécialité: Développeur
Localisation: Paris/Cergy
Pays:
Sexe:
Age: 38
Navigateur:
une autre version

Code:
Public Sub CloseCurrentWindows_API(wMessage As String)
   
   'ferme la fentre en cours
   
%REM
'variableAPI pour la fonction CloseCurrentWindows_API
Declare Function NEMStopSubprogramWindow Lib "nnotesws.dll" (Byval wHandle As Long) As Integer
Declare Function NEMGetCurrentSubprogramWindow Lib "nnotesws.dll" () As Long
%END REM
   
   On Error Goto ErreurHandle
   
   Call NEMStopSubprogramWindow(NEMGetCurrentSubprogramWindow)
   
   Exit Sub
ErreurHandle:
   Msgbox "("Cstr(Getthreadinfo (1))+" Call by "+Cstr(Getthreadinfo(10))+")"+Chr(10)+"Erreur " + Str(Err) + " : "+Chr(10) + Cstr(Error)+". "+Chr(10)+"Ligne N° "+Cstr(Erl),16," ERREUR !"
   Exit Sub   
End Sub

_________________
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN

MessagePosté le: 06 Nov 2007 à 14:30
 Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur MSN Messenger
 Numéro ICQ 
 Revenir en haut de page 
Montrer les messages depuis:   Trier par:   
Page 1 sur 1 [2 messages]  
Poster un nouveau sujet   Répondre au sujet Voir le sujet précédentVoir le sujet suivant
 Index du Forum » IBM-Lotus Domino » Trucs et Astuces » Développement » LotusScript » API
Sauter vers:  

Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum
Vous ne pouvez pas joindre des fichiers dans ce forum
Vous pouvez télécharger des fichiers dans ce forum

phpBB SEO URLs V2

Flux RSS 
Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com
Version française de Categories Hierarchy © GGWeb-FR
[ Temps : 0.2153s ][ Requêtes : 15 (0.0181s) ][ GZIP actif - Débogage actif ]