[R] Repasser une fenêtre au premier plan

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
someonescripting
Niveau 3
Niveau 3
Messages : 44
Enregistré le : mar. 16 juin 2020 03:55
Status : Hors ligne

[R] Repasser une fenêtre au premier plan

#1

Message par someonescripting »

Bonjour, c'est encore et toujours moi =D

Dernier coup de patte avant la finalisation de mon script.

Plutôt que de faire une fonction de restauration dans mon script (qui vise à modifier des paramètres Windows), j'invite l'utilisateur a créer un point de restauration système en ajoutant un bouton qui appel une fonction ouvrant les paramètre système avancés à l'onglet "Protection du système".

Voila la fonction :

Code : Tout sélectionner

Func _RestoreSystem() ;Ouvre les paramètres système avancés à l'onglet "Protection du système" et désactive la GUI tant que les paramètres sytème avancés ne sont pas fermés.
	GUISetState (@SW_DISABLE)
	RunWait ("SystemPropertiesProtection.exe", @WindowsDir & "\System32")
	GUISetState (@SW_ENABLE)
EndFunc ;_RestoreSystem
Mon soucis est que dés que je ferme la fenêtre des paramètres système, la fenêtre de mon script passe au dernier plan.
Par exemple, si j'utilise F5 dans SciTE pour exécuter mon script et que j'appuie sur le bouton concerné, ma fenêtre ainsi que celle des paramètres système sont bien devant SciTE, mais dés lors que je ferme les paramètres système, la fenêtre de mon script passe derrière SciTE ...

Je précise que je souhaiterais que la fenêtre de mon script soit bloqué tant que les paramètre système sont ouvert ce pourquoi j'ai rajouter "GUISetState (@SW_DISABLE)" et "GUISetState (@SW_ENABLE)" (si je les commentes, pas de soucis, j'image que ça doit être eux qui sont la cause de mon problème).

En fouillant un peu j'ai trouvé des infos pour la gardé constamment au premier plan, mais cela n'est pas ce que je recherche, je voudrais juste qu'elle repasse au premier plan qu'une seule fois quand je ferme la fenêtre des paramètres système (J'imagine qu'il doit y avoir une erreur toute bête dans mon raisonnement)
J’espère avoir été assez clair dans mon explication.

Merci d'avance pour vos lumières.
Modifié en dernier par someonescripting le ven. 03 juil. 2020 13:17, modifié 1 fois.
Un bon informaticien, est un informaticien fainéant !
Avatar du membre
mikell
Modérateur
Modérateur
Messages : 6001
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Repasser une fenêtre au premier plan

#2

Message par mikell »

Un simple WinActivate($ma_gui) juste après le GUISetState (@SW_ENABLE) devrait le faire :wink:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
someonescripting
Niveau 3
Niveau 3
Messages : 44
Enregistré le : mar. 16 juin 2020 03:55
Status : Hors ligne

Re: [..] Repasser une fenêtre au premier plan

#3

Message par someonescripting »

Bonjour @mikell,

Je viens de faire le test, et cela ne repasse pas ma fenêtre au premier plan, par contre elle a clignoté orange dans la barre des tâches au moment ou j'ai fermé la fenêtre des paramètres système.

(Je ne comprend d'ailleurs pas pourquoi les GUISetState (@SW_DISABLE) et GUISetState (@SW_DISABLE) provoque ce changement de plan)
Un bon informaticien, est un informaticien fainéant !
Avatar du membre
someonescripting
Niveau 3
Niveau 3
Messages : 44
Enregistré le : mar. 16 juin 2020 03:55
Status : Hors ligne

Re: [..] Repasser une fenêtre au premier plan  

#4

Message par someonescripting »

Re,

Le WinActivate() fonctionne, mais pas tout le temps, par moment ma fenêtre passe quand même au second plan, du coup changement de plan, j'ai enlever les GUISetState et remplacer le runwait par un simple run.
Il est vrai que je n'ai pas nécessairement besoin de bloquer la GUI quand les paramètres système sont ouvert.
Un bon informaticien, est un informaticien fainéant !
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 1878
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [R] Repasser une fenêtre au premier plan

#5

Message par TommyDDR »

Je me souviens avoir eu ce problème aussi.
Je faisais un hide + show pour y palier (suivant les cas, ça peut être embêtant donc à voir si dans le votre c'est pratique ou pas)
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
someonescripting
Niveau 3
Niveau 3
Messages : 44
Enregistré le : mar. 16 juin 2020 03:55
Status : Hors ligne

Re: [R] Repasser une fenêtre au premier plan

#6

Message par someonescripting »

Hi @TommyDDR,

Merci pour l'info, mais pense que je vais laisser tel quel.
Le fait que ma fenêtre soit active alors que les paramètres système sont ouvert ,n'est pas très gênant en soi, et ma fenêtre reste bien devant si je quitte les paramètres système.

Je garde quand même l'info dans un coin, merci !
Un bon informaticien, est un informaticien fainéant !
Répondre