Page 1 sur 1

[R] Rajout de fonction pour un bouton d'un programme exis..

Posté : mer. 23 avr. 2014 10:32
par Bayo
Bonjour,

Je voudrais savoir si il est possible de rajouter une fonction a un bouton d'un programme existant par exemple lancer l'explorateur windows en au3 et lorsqu'on appuie sur le bouton de fermeture de la fenêtre ça renvoi un message, en gros est ce possible de récupérer les ControlID d'un programme?

Merci d'avance pour vos réponses.

Re: [..] Rajout de fonction pour un bouton d'un programme ex

Posté : mer. 23 avr. 2014 14:40
par jguinch
Peut-être du côté de _WinAPI_SetWindowsHookEx ?

Re: [..] Rajout de fonction pour un bouton d'un programme ex

Posté : mer. 23 avr. 2014 15:18
par Bayo
d'après ce que je comprend, ça permet de récupérer des codes clavier. Enfin je crois (je suis loin d'être Bilingue lol).

J'ai tenté avec AutoIt Windows Info mais ça ne permet pas de récupérer les boutons systèmes. D'après ce que j'ai relu sur les ControlID, ils commencent au n°3 car le 0,1 et 2 sont pris par ces boutons c'est bien ça?
Donc avec AutoIt Windows Info je récupère sur windows 7 la Class pour la fenêtre CabinetWClass.
Je vais me mettre au dernier chapitre du tuto pour voir si il est possible d'utiliser le ControlID 2 par exemple de cette Class.

Ah moins que _WinAPI_SetWindowsHookEx me permette de faire plus simple.

Merci de ton aide

Re: [..] Rajout de fonction pour un bouton d'un programme ex

Posté : mer. 23 avr. 2014 20:56
par jguinch
Si tu nous expliquais le but, ça nous permettrait peut-être de t'orienter vers quelque chose, mais là...

Re: [..] Rajout de fonction pour un bouton d'un programme ex

Posté : jeu. 24 avr. 2014 07:58
par Bayo
Ben en fait c'est compliqué lol. Nous disposons de terminaux avec OS Embarquée et les droits sont très restreint, On a vérouillé la fermeture des pages iexplore par exemple donc il ne peuvent pas fermer IE. Mais pour une utilisation particulière on leur donne la possibilité d'ouvrir un explorateur windows mais il ne peuvent pas le fermer non plus donc j'aimerai que lorsqu'on clique sur la croix pour fermer la fenetre ça kill le process explorer.exe.

J'ai fait un au3 à part, qui le fait mais pour le moment je ne sais pas comment ou s'il ont peut l'intégrer à ce bouton système.

Merci.

Re: [..] Rajout de fonction pour un bouton d'un programme ex

Posté : jeu. 24 avr. 2014 08:08
par jguinch
Pour faire plus simple, tu peux aussi surveiller l'ouverture et la fermeture de l'explorateur :
► Afficher le texte
?

Re: [..] Rajout de fonction pour un bouton d'un programme ex

Posté : jeu. 24 avr. 2014 08:20
par Bayo
Non puisse qu'ils ne peuvent pas le fermer :p je sais on est chiant lol

Re: [..] Rajout de fonction pour un bouton d'un programme ex

Posté : jeu. 24 avr. 2014 11:00
par jguinch
OK, j'avais pas vu ça comme ça...
Je suis tombé sur ce topic, dans lequel ils utilisent une dll hook.dll.
J'ai testé et effectivement, ça permet d'intercepter les messages d'une autre application. :)
Par contre, je n'arrive pas à faire fonctionne ça avec l'explorateur...

Par contre, une question supplémentaire : quand tu dis "ils ne peuvent pas le fermer", ça se représente comment ? La croix est inactive ? masqué ?

Re: [..] Rajout de fonction pour un bouton d'un programme ex

Posté : jeu. 24 avr. 2014 11:42
par Bayo
Non ça leur met un message comme quoi il n'ont pas les droits pour fermer cette fenêtre :)

Ou en effet on peut voir le problème d'une manière différente et si l'on peut masquer le bouton de fermeture de l'IE pour pourvoir fermer les fenêtres d'explorateur Windows sans souci, faut que je regarde dans ce sens.

Merci.

Re: [..] Rajout de fonction pour un bouton d'un programme ex

Posté : jeu. 24 avr. 2014 15:39
par jguinch
Oui, ça sera surement plus simple.
Du coup, ce que tu peux faire, c'est créer une fenêtre à la dimension que tu veux et créer un IE embarqué _IECreateEmbeded().
De cette façon t'affranchis du problème de fermeture...

Par contre je voulais savoir : c'est sous quel OS ? J'utilise Windows 7 et lorsque j'applique la stratégie locale "Menu Fichier : désactiver la fermeture des fenêtres du navigateur et de l’Explorateur", ça ne désactive la fermeture que pour IE, pas l'explorateur..


Edit : tu peux aussi bricoler dans la base de registre avant et après le lancement d'IE (après avoir pris le soin d'enlever ta restriction) :
► Afficher le texte
Le message d'erreur, ça fait pas très propre, je préfère la méthode du _IECreateEmbeded()...

Re: [..] Rajout de fonction pour un bouton d'un programme ex

Posté : jeu. 24 avr. 2014 16:53
par Bayo
on est sur du windows Embedded. Je testerai ta solution.

Merci beaucoup de ton aide.

Re: [..] Rajout de fonction pour un bouton d'un programme ex

Posté : jeu. 24 avr. 2014 17:28
par mikell
Bayo a écrit :Non ça leur met un message comme quoi il n'ont pas les droits pour fermer cette fenêtre :)
If WinExists(message d'avertissement) Then ProcessClose(explorer) :mrgreen:

Re: [..] Rajout de fonction pour un bouton d'un programme ex

Posté : ven. 25 avr. 2014 07:58
par Bayo
Non plus car lors de la fermeture d'IE ils ont le même avertissement donc ça killerai le proc explorer alors qu'ils essayent de fermer IE.
Je met Résolu pour le moment en attendant de tester le code de jguinch, la on m'a mis sur autre chose donc pas le temps de tester ça :)
Merci encore.