Petit probleme avec les fenetre windows

lechieur Messages postés 15 Date d'inscription mardi 28 juin 2005 Statut Membre Dernière intervention 7 janvier 2007 - 29 juil. 2005 à 10:55
lechieur Messages postés 15 Date d'inscription mardi 28 juin 2005 Statut Membre Dernière intervention 7 janvier 2007 - 29 juil. 2005 à 21:05
Salut
Je n'arrive pas à trouver comment faire pour fermer la fenetre d'un dossier. Si vous pouviez m'aider se serait cool. Merci
Et autre chose, comment faire pour que la form1 lorsqu'elle est active empeche de cliquer sur le bureau ou sur tout autre objet qui ne lui appartient pas.
Voila merci d'avance.
Le chieur

7 réponses

borntoclimb Messages postés 98 Date d'inscription vendredi 4 janvier 2002 Statut Membre Dernière intervention 7 mars 2006 4
29 juil. 2005 à 11:45
Je ne suis pas certain de ce que tu veux dire par fermer la fenetre d'un dossier. Si c'est une fenetre qui ne fais pas partie de ton programme tu peux la fermer en passant par les APIs. Tu trouve le "handle" de la fenetre par son nom et apres tu passes un message "close" ou tu la "kill" directement.

Nom de l'API: FindWindow
Args: vbNullString, "Nom de la fenetre"

Nom de l'API: SendMessage
WM_CLOSE=&H10

Fait une recherche sur le site pour trouver un example concret.

Pour empecher l'access á quoi que ce soit, tu peux donner á ton programme les proprietés d'un "Screen Saver". J'ai deposer un source qui explique comment faire et je crois qu'il y en a plusieurs autres sur ce theme.

Borntoclimb

Borntoclimb

---No pasa nada...
0
lechieur Messages postés 15 Date d'inscription mardi 28 juin 2005 Statut Membre Dernière intervention 7 janvier 2007
29 juil. 2005 à 12:53
Ouais je me suis un peu mal exprimer, en fait c comme si tu voulais fermer la fenetre du poste de travail ou meme l'explorateur.
De plus je sui pas tres chaud encore avec les Api comme je débute et je n'y comprend s pas grand choses quand on m'en parle. Voial
Merci quand meme.
Le chieur
0
Vedlen Messages postés 359 Date d'inscription mardi 14 octobre 2003 Statut Membre Dernière intervention 7 septembre 2009
29 juil. 2005 à 13:30
T'as la méthode du "gros connard" comme j'aime bien l'appeller , c'est à dire y aller à la barbare en killant explorer.exe



http://vbfrance.com/code.aspx?id=7838



Comme ça il ne reste plus que ton prog, et le fond d'écran.

Pour redémarrer explorer, suffit de faire un lien vers C:\WINDOWS\Explorer.exe

Il est aussi possible de le redémarrer par Ctrl+Alt+Suppr --> Fichier --> Nouvelle tâche (exécuter..) --> 'Explorer'
0
lechieur Messages postés 15 Date d'inscription mardi 28 juin 2005 Statut Membre Dernière intervention 7 janvier 2007
29 juil. 2005 à 17:03
Salut
C'est aussi une solution mais un peu barbare comme tu dis et meme dangereuse. Je vais voir si je l'essaye.
Merci beaucoup
Le chieur
0

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

Posez votre question
lechieur Messages postés 15 Date d'inscription mardi 28 juin 2005 Statut Membre Dernière intervention 7 janvier 2007
29 juil. 2005 à 20:35
J'ai peut etre trouver mais je vais avoir besoins de votre aide. Si j'arrivais a faire passer le poste de travail (étant ouvert bien sur), en fenetre active et ensuite a envoyer le code de la touche ALT et celui de la touche F4, peut etre que ca fermerais le poste de travail ou toute fenetre dans le meme style. Par contre je ne sias pas utiliser la fonction sendKeys. Si vous pouvier m'écrire un code ca serait tro sympas. Voila, maintenant je sais si sa peut parcher mais c'était juste une idée.
Merci d'avance.
Le chieur
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
29 juil. 2005 à 20:50
Const WM_CLOSE = &H10



Private Declare Function FindWindow Lib "user32" Alias "FindWindowA"
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Declare Function PostMessage Lib "user32" Alias "PostMessageA"
(ByVal Hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam
As Any) As Long



Private Sub Command1_Click()

Dim Hwnd As Long



Hwnd = FindWindow(vbNullString, "Poste de travail")



If Hwnd > 0 Then

PostMessage Hwnd, WM_CLOSE, 0&, 0&

End If



End Sub


Daniel
0
lechieur Messages postés 15 Date d'inscription mardi 28 juin 2005 Statut Membre Dernière intervention 7 janvier 2007
29 juil. 2005 à 21:05
Salut
Merci pour ton code il est génial. Tu te démerde tro bien. Je te remerci vraiment car j'en avait absoluement besoins.
Bon je vais finir mon programme.
Merci
@+
le chieur
0