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
XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio [WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|