Page 1 sur 1
[..] Afficher msg. d'alerte sans pertuber l'application
Posté : lun. 16 nov. 2009 17:12
par xeno
Je m'amuse pour le grand plaisir de mes enfants a faire des petits scripts
de contrôle parental.
lors de mes différentes recherche je suis tombé sur ses deux posts que j'ai mis de coté
http://www.autoitscript.fr/forum/viewto ... ilit=popup
le second découlant du premier
http://www.autoitscript.fr/forum/viewto ... f=6&t=3239
cela m'a donné une idée, vu qu'ils ont encore des problèmes a respecté un horaire,"ah la jeunnesse

"
je veux leur donné une chance de faire une sauvegarde avant que le système ne se coupe à l'horaire prévu.
donc j'ai pensé a un petit message qui s'afficherait avant l'heure fatidique, sans pour autant que cela ne perturbe le jeux, à priori cela doit être possible.
mais je ne vois pas trop comment me dépatouillé pour l'instant.
Re: [..] Afficher msg. d'alerte sans pertuber l'ap
Posté : lun. 16 nov. 2009 17:33
par jbnh
Bonjour,
La meilleure solution reste le traytip.
Simple et efficace
Re: [..] Afficher msg. d'alerte sans pertuber l'application
Posté : lun. 16 nov. 2009 18:59
par Iste
Le traytip risque de ne pas passer, si c'est le cas, il vaut mieux se baser sur des message audio grace a
Beep() ; pour un simple son
SoundPlay() ; si vous voulez enregistrer votre belle voix
_WinAPI_MessageBeep() ; pour les son par défaut du windowz
Re: [..] Afficher msg. d'alerte sans pertuber l'application
Posté : lun. 16 nov. 2009 19:37
par sylvanie
on peut passer par une msgbox, mais il faut la lancer en interprétation en ligne :
► Afficher le texte
Code : Tout sélectionner
$ind = 0
While 1
If $ind = 0 Then Run(@AutoItExe & ' /AutoIt3ExecuteLine "MsgBox(0, ''Hello World!'', ''Hi!'')"')
ConsoleWrite($ind&@CRLF)
$ind+=1
Sleep(1000)
WEnd
Re: [..] Afficher msg. d'alerte sans pertuber l'application
Posté : mer. 18 nov. 2009 11:40
par xeno
j'ai essayer de mettre en pratique vos suggestions mais
msgbox en ligne de commande fais revenir au bureau,
le traytip n'est visible que si l'on voi la barre des taches
le tooltip ou clignotant ou éphémère
ceci dis, pour ses trois cas il est aussi possible que je m'y prend mal
dans le premier lien que j'ai donné Ani annonce que c'est possible, "enfin il parle d'une gui", quelqu'un sait il de quoi il parle
j'ai essayé de faire des recherche avec les mots other windows et autres mais rien de nouveau.
d'ailleurs si il passe dans le coin, et qu'il aurait le temps d'étoffer je suis preneur
ani a écrit :bonjour,
pour la question, si on peut ajouter une gui dans un jeu (other Windows), la réponse sera OUI
Re: [..] Afficher msg. d'alerte sans pertuber l'application
Posté : mer. 18 nov. 2009 13:38
par sylvanie
qand vous dites "revenir au bureau", ça laisse sous entendre qu'on est parti d'une appli en mode plein écran c'est ça ?
si c'est le cas, effectivement c'est normal car un popup issu de n'importe quel process va rebasculer en mode fenêtré.
il faudrait peut être créer une gui tierce dans un autre script, avec un label à passer en paramètre, et la lancer vai la même commande que la popup. Par contre si on click dessus, ça risque peut être de faire "revenir" sur le bureau. Au quel cas faudra inclure une tempo pour fermer la fenêtre tout seul.
Re: [..] Afficher msg. d'alerte sans pertuber l'application
Posté : mer. 18 nov. 2009 18:27
par xeno
sylvanie a écrit :quand vous dites "revenir au bureau", ça laisse sous entendre qu'on est parti d'une appli
en mode plein écran c'est ça ?
.
oui,c'est pour quand les enfants joue, ils perdent la notion du temps et un petit rappel ne fera pas de mal.
sylvanie a écrit :
il faudrait peut être créer une gui tierce dans un autre script, avec un label à passer en paramètre,
et la lancer via la même commande que la popup. Par contre si on click dessus,
ça risque peut être de faire "revenir" sur le bureau. Au quel cas faudra inclure une tempo pour fermer la fenêtre tout seul.
serait il possible d'avoir un exemple ? j'ai un peu de mal là, j'ai compris l'idée mais c'est la partie scripts qui flanche chez moi..

Re: [..] Afficher msg. d'alerte sans pertuber l'application
Posté : mer. 18 nov. 2009 19:21
par sylvanie
voici un exple de script necessitant un texte en argument (nommez le my_msgbox.au3 pour la suite) :
► Afficher le texte
Code : Tout sélectionner
$nb_arg = $CmdLine[0]
If $nb_arg <> 1 Then Exit 0
$str=$Cmdline[1]
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 400, 300, @DesktopWidth/4, @DesktopHeight/4, BitOR($WS_CAPTION,$WS_POPUP,$WS_BORDER))
$Label1 = GUICtrlCreateLabel($str, 100, 120, 292, 209)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Sleep(5000)
puis un exple de code d'appel (script principal)
► Afficher le texte
Code : Tout sélectionner
$ind = 0
While 1
;If $ind = 0 Then Run(@AutoItExe & ' /AutoIt3ExecuteLine "MsgBox(0, ''Hello World!'', ''Hi!'')"')
If $ind = 0 Then Run(@AutoItExe & ' my_msgbox.au3 "test de text"')
ConsoleWrite($ind&@CRLF)
$ind+=1
Sleep(1000)
WEnd
Re: [..] Afficher msg. d'alerte sans pertuber l'application
Posté : dim. 22 nov. 2009 19:45
par xeno
Merci pour ton exemple..
Je viens de prendre le temps de tester ton script,
j'ai essayer sur une video a défaut que ce soit un jeux, et je reviens aussi sur le bureau.

Re: [..] Afficher msg. d'alerte sans pertuber l'application
Posté : dim. 22 nov. 2009 20:11
par Iste
Non pas que je cherche a insister mais comme mon message semble etre passé inaperçue...
Des que l'on affiche et met en 1er plan une GUI, les programme en full screen laissent la main, vous avez pu vous en rendre compte.
Ce n'est donc pas pour rien que je vous ai proposé des alertes sonores, car le sujet avait déja été abordé sans succès.
Toute foi, vous pouvez essayez de trouver du code pour "ecrire' directement a l'ecran, et/ou de créer une fenetre en arrière plan et lui donné l'attribut toujours au 1er plan sans l'activer
Mais de toute facon, meme si ca marche pour un ou plusieurs programme, on ne peut etre sur de rien pour les autres. Un message sonore sera sur de fonctionner, a vous enssuite de faire en sorte qu'il soit audible.
Re: [..] Afficher msg. d'alerte sans pertuber l'application
Posté : dim. 22 nov. 2009 20:56
par xeno
Sisi j'ai bien vu le message et l'idée gardé précieusement sous le coude

, j'ai quand même essayer de voir, car comme je l'ai indiqué sur mon premier post, dans le premier lien que j'ai donné, "Ani" indique qu'il est possible
d'ajouter une gui, mais je n'ai pas trouvé plus d'info.
Re: [..] Afficher msg. d'alerte sans pertuber l'application
Posté : dim. 22 nov. 2009 21:22
par Tlem
@xeno
J'ai modifié votre message en supprimant la citation, car il est inutile de citer le message qui précède le votre.
Re: [..] Afficher msg. d'alerte sans pertuber l'application
Posté : dim. 22 nov. 2009 21:25
par xeno
oui c'est sûr

Re: [..] Afficher msg. d'alerte sans pertuber l'application
Posté : dim. 22 nov. 2009 21:41
par timmalos
J'ai fait quelques tests, ya bien le WinMove Qui si il change souvent fait scintiller l'application, si on ecrit bien gros on peut comprendre, ca reste assez moche, mais si vous leur expliquer que quand c'est moche faut arreter ca marchera
Code : Tout sélectionner
#include <WindowsConstants.au3>
$gui = GUICreate("test", 400, 100,-1,-1,-1,$WS_EX_TOOLWINDOW+$WS_EX_TOPMOST+$WS_EX_TRANSPARENT)
GUISetState(@SW_SHOW)
GUISetState(@SW_DISABLE)
WinSetTrans("test","",0)
Sleep(10000)
GUISetState(@SW_SHOW)
WinSetTrans("test","",255)
WinSetOnTop("test","",1)
$i = 0
While $i <= 510
$i +=1
WinSetOnTop("test","",0)
WinMove("test","",$i/2,100)
WinSetOnTop("test","",1)
Sleep(100)
WEnd
Amon avis, c'est du coté de GDI+ qu'il faut se tourner, mais la sur le coup j'ai pas trop le temps : Il me semble que des exemples de GUI transparentes avec GDI+ pour afficher du texte se trouvent sur le forum. Il y a moyen de tout faire avec GDI+ donc je pense que votre probleme trouvera solution. Essayez les fichiers de l'aide, ou peut etre une recherche sur le forum anglais serait tres interessante, vous devriez essayer.
Re: [..] Afficher msg. d'alerte sans pertuber l'application
Posté : lun. 23 nov. 2009 11:19
par Habibsbib
Ben, si le jeu est en plein écran, essayez d'afficher un genre de ToolTip géant qui maque l'écran, du genre :
Code : Tout sélectionner
Tooltip (@DesktopWidth, @DesktopHeight, temps cours pour pas tout faire rater)
Mais bon, ne sous-estimez pas trop la dernière génération, car perso à neuf ans, je savais arrêter un processus radicalement si il me dérangait... en clair, vous devriez un peu blinder votre script niveau sécurité, du genre un autre script masqué en simultané qui relance automatiquement le script principal, ou alors une fonction dans votre script qui permette de fermer taskmgr.exe, soit le Gestionnaire de Processus par défaut sur Windows
...masi bon, j'avoue que la je prends un peu vos enfants pour des petits hackeurs ^^
Re: [..] Afficher msg. d'alerte sans pertuber l'application
Posté : lun. 23 nov. 2009 17:54
par timmalos
Habib, je pense qu'il utilise un logiciel très securisé, il veut juste rajouter un message avant que l'arret s'opère. Donc pas besoin de securité, si les enfants veulent supprimer le process, ils ne seront plus avertis, c'est tout. Sinon un simple passage en service et il devient insupprimable c'est pas compliqué

Re: [..] Afficher msg. d'alerte sans pertuber l'application
Posté : lun. 23 nov. 2009 19:10
par Habibsbib
Effectivement... je suis allé un peu trop vte dans mon raisonnement ce coup-ci ^^
Re: [..] Afficher msg. d'alerte sans pertuber l'application
Posté : mar. 24 nov. 2009 15:49
par xeno
timmalos a écrit :J'ai fait quelques tests, ya bien le WinMove Qui si il change souvent fait scintiller l'application, si on ecrit bien gros on peut comprendre, ca reste assez moche, mais si vous leur expliquer que quand c'est moche faut arreter ca marchera
Amon avis, c'est du coté de GDI+ qu'il faut se tourner, mais la sur le coup j'ai pas trop le temps : Il me semble que des exemples de GUI transparentes avec GDI+ pour afficher du texte se trouvent sur le forum. Il y a moyen de tout faire avec GDI+ donc je pense que votre probleme trouvera solution. Essayez les fichiers de l'aide, ou peut etre une recherche sur le forum anglais serait tres interessante, vous devriez essayer.
j'ai essayer sous une video pour l'instant, je crois que je vais essayer comme ça pour l'instant, j'ai commencé a regarder pour le GDI+, je pense qu'il va me falloir un peu de temps pour le digérer

Re: [..] Afficher msg. d'alerte sans pertuber l'application
Posté : mar. 24 nov. 2009 16:05
par xeno
Habibsbib a écrit :
Mais bon, ne sous-estimez pas trop la dernière génération, car perso à neuf ans, je savais arrêter un processus radicalement si il me dérangait... en clair, vous devriez un peu blinder votre script niveau sécurité, du genre un autre script masqué en simultané qui relance automatiquement le script principal, ou alors une fonction dans votre script qui permette de fermer taskmgr.exe, soit le Gestionnaire de Processus par défaut sur Windows
...masi bon, j'avoue que la je prends un peu vos enfants pour des petits hackeurs ^^
j'avoue que je les vois évoluer, après être passé par un système qui limitait vraiment les actions possibles, mais comme ils utilisaient l'ordinateur que pour joué ce n'étais pas dérangeant.
maintenant ils sont plus vieux je les laissent un peu plus évoluer, il faut bien qu'il apprennent les outils de leur époques, alors je suis revenu a un système plus soft, mais plus a risque pour moi
pour les process je me suis contenté pour l'instant de maquillé les appellations
je verrais plus tard pour l'instant je fais au plus pressé.
Re: [..] Afficher msg. d'alerte sans pertuber l'application
Posté : jeu. 26 nov. 2009 13:21
par Habibsbib
N'hésitez pas à re-poster si vous avez un problème
