Accueil > > > API POUR DÉGRISER LA CROIX FERMER DE N'IMPORTE QUELLE FENÊTRE (LA RÉACTIVER EN FAIT) / ET PUIS AUSSI POUR LA GRISER
API POUR DÉGRISER LA CROIX FERMER DE N'IMPORTE QUELLE FENÊTRE (LA RÉACTIVER EN FAIT) / ET PUIS AUSSI POUR LA GRISER
Information sur la source
Description
J'avais trouvé pas mal de sources pour griser la croix fermer mais aucune pour la dégriser. Donc j'ai essayé pas mal de combinaisons (bien 50 au moins) avec différentes API et puis ça a enfin marché ! Ouf ! (en plus avec un truc tout con j'avai les boules lol)
donc moi j'ai testé sur les fenêtres que j'avai grisé auparavant, ça marche et puis aussi sur Nero en pleine gravure, et ça marche aussi !
Donc dites moi si chez vous ça marche pas mais normalement aucun problème.
MadMatt
Source
- ' Je met un petit exemple avant (tout con mais bon) :
- Private Sub form_load ()
- DesactiveCroix Me.Hwnd ' Désactive la croix de la fenêtre actuelle
- ActiveCroix Me.Hwnd ' Réactive
- ' Je précise qu'il faut envoyer dans la fonction le handle de la fenêtre à manipuler.
- ' Pour trouver le handle d'une form d'un projet Visual Basic il faut utiliser ".Hwnd" après le nom de la form
- End Sub
-
-
- ' METTEZ TOUT çA DANS UN MODULE ET UTILISEZ LES FONCTIONS
- ' Déclare les API
- ' pour dégriser ou griser un item du menu sytème d'une fenêtre
- Declare Function EnableMenuItem Lib "user32" (ByVal hMenu As Long, ByVal wIDEnableItem As Long, ByVal wEnable As Long) As Long
- Public Declare Function GetSystemMenu Lib "user32" (ByVal HWnd As Long, ByVal bRevert As Long) As Long
- Public Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
- Public Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
- Public Declare Function DrawMenuBar Lib "user32" (ByVal HWnd As Long) As Long
- Declare Function GetMenuItemID Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long
- Public Const MF_BYPOSITION = &H400&
- Public Const MF_REMOVE = &H1000&
- Public Const SC_CLOSE = &HF060
-
-
- ' Fonctions :
- ' Réactive la croix fermer
- Public Function ActiveCroix(ByVal HWnd As Long) ' il faut lui préciser le handle de la fenêtre
- On Error Resume Next
- ' ici je dégrise grâce à true qui remet le menu à zéro
- hMenu = GetSystemMenu(HWnd, True)
- DrawMenuBar HWnd
- End Function
-
- ' Désactive la croix fermer
- Public Function DesactiveCroix(ByVal HWnd As Long)
- On Error Resume Next
- Dim hMenu As Long
- hMenu = GetSystemMenu(HWnd, 0)
- RemoveMenu hMenu, SC_CLOSE, MF_BYCOMMAND
- DrawMenuBar HWnd
- End Function
' Je met un petit exemple avant (tout con mais bon) :
Private Sub form_load ()
DesactiveCroix Me.Hwnd ' Désactive la croix de la fenêtre actuelle
ActiveCroix Me.Hwnd ' Réactive
' Je précise qu'il faut envoyer dans la fonction le handle de la fenêtre à manipuler.
' Pour trouver le handle d'une form d'un projet Visual Basic il faut utiliser ".Hwnd" après le nom de la form
End Sub
' METTEZ TOUT çA DANS UN MODULE ET UTILISEZ LES FONCTIONS
' Déclare les API
' pour dégriser ou griser un item du menu sytème d'une fenêtre
Declare Function EnableMenuItem Lib "user32" (ByVal hMenu As Long, ByVal wIDEnableItem As Long, ByVal wEnable As Long) As Long
Public Declare Function GetSystemMenu Lib "user32" (ByVal HWnd As Long, ByVal bRevert As Long) As Long
Public Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
Public Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Public Declare Function DrawMenuBar Lib "user32" (ByVal HWnd As Long) As Long
Declare Function GetMenuItemID Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long
Public Const MF_BYPOSITION = &H400&
Public Const MF_REMOVE = &H1000&
Public Const SC_CLOSE = &HF060
' Fonctions :
' Réactive la croix fermer
Public Function ActiveCroix(ByVal HWnd As Long) ' il faut lui préciser le handle de la fenêtre
On Error Resume Next
' ici je dégrise grâce à true qui remet le menu à zéro
hMenu = GetSystemMenu(HWnd, True)
DrawMenuBar HWnd
End Function
' Désactive la croix fermer
Public Function DesactiveCroix(ByVal HWnd As Long)
On Error Resume Next
Dim hMenu As Long
hMenu = GetSystemMenu(HWnd, 0)
RemoveMenu hMenu, SC_CLOSE, MF_BYCOMMAND
DrawMenuBar HWnd
End Function
Conclusion
voilà, à vous les commentaires et la note !
;-)
PS : pour la fonction qui désactive la croix elle vient du site mais je l'ai mise pour pouvoir tester chez vous.
Historique
- 23 novembre 2005 20:29:06 :
- Ajout des mots clés
- 03 mars 2008 10:04:46 :
- Optimisation par Renfield
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Gestion de la croix pour fermer une macro VBA [ par zgueg ]
Je bosse actuellement sur une macro VBA sousBusiness Object 5.Mon appli plante losque je clique sur "la croix".J'aimerais donc savoir comment gerer ce
fermer la croix d'un user et aller sur une page bien précise [ par yannch ]
Bonjour, Mon user form est composé de combo box dont les données se copie sur une feuille A.Si je commence a saisir et qu'en plein milieu je veuille
Fermer toutes les fenetres d'internet explorer [ par z980x ]
Salut ! Je voudrais savoir comment fermer TOUTES les fenetres d'internet Explorer, sans savoir leur handle...Est-il possible de killer le processus IE
Enlever la croix d'une boite de dialogue [ par jerome1983 ]
Bonjour a tous,Je voudrai savoir s'il est possible d'enlever la croix pour fermer en haut a droite de la boite de dialogue.Car comme jai un bouton fer
fermer correcte l'application avec la croix [ par nakano78 ]
une question simple mais que je ne sais pas faire...Lorsque je quitte mon application par la croix.... le processus reste... donc ma question est simp
fermer mon prg d'un seul coup [ par jeanlucsl ]
salut a tousmon pb est le suivant: lorsque je clique sur la croix de windows pour fermer mon pgr, en fait il ne me ferme que la fenêtre presente
Empêcher à un utilisateur de cliquer sur la croix d'un formulaire [ par syl2 ]
Bonjour à tous,je suis en train de réaliser des formulaires sous Access, et j'essaye d'implémenter un code pour empêcher l'utilisateur de fermer mon f
Fermer l'application Excel avec la croix d'une userform [ par pilou30 ]
Bonjour,je me lance juste dans la programmation de macro, userbox ...... dans Excel. Grâce à l'aide et à internet, j'ai réussi pas
[VB6] Problème avec la croix pour fermer une application [ par NeT_SlipKnoT ]
Bonjour,j'ai un problème au niveau de mon programme VB. Mon projet est constitué de plusieurs forms dont 1 qui est le form principal (le men
[vb.net] Fermer avec croix rouge Windows [ par Nexto ]
Rebonsoir, Je voudrais savoir comment je peux mettre une instruction quand on clique sur la croix rouge en haut à gauche Windows
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
VB.NET ET COMBOBOXVB.NET ET COMBOBOX par minouthebreaker
Cliquez pour lire la suite par minouthebreaker
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|