Un peu de fun pour les congés...

Partagez vos scripts, et vos applications AutoIt.
Règles du forum
.
Répondre
marcgforce
Niveau 3
Niveau 3
Messages : 47
Enregistré le : lun. 07 mars 2016 07:20
Status : Hors ligne

Un peu de fun pour les congés...

#1

Message par marcgforce »

Ça y est, c'est les vacances, mais comme c'est un peu plus détendu, je me permet de poster un petit script piège pour ceux qui restent au travail et qui veulent faire des blagounettes à leurs collègues de bureau ;-)

C'est un petit script très simple, dont le seul but est d'attendre que l'interface chaise clavier, appuie sur la touche sélectionnée par le script pour afficher un GIF pendant une 1/2 seconde, puis de changer de touche.... le script se ferme avec la combinaison "alt-q" mais rien ne l'indique.

pour les GIFs je vous laisse le choix sur ce site mais il en existent pleins d'autre

Le coté marrant vient du fait que l'utilisateur est surpris par l'image qui apparait, mais ne peux pas reproduire cette apparition car la touche change a chaque appui (sauf manque de bol car même tirage 1/26)

Pour tester le script il faudra bien sur mettre son le chemin de son gif....

l'udf gif animation est disponible ici : https://code.google.com/archive/p/gif-a ... /downloads


Voilà le code :
#NoTrayIcon
Opt("MustDeclareVars", 1)
Opt("GUICloseOnESC", 1); ESC to exit

; Include GIF engine
#include "GIFAnimation.au3"
#include <WindowsConstants.au3>
#include <WinAPI.au3>

global $lettre,$lettre_choisi, $string,$lettres, $sFile

; Installation du fichier
Local $sGif = "boobs.gif"; Ici le fichier gif
FileInstall(@ScriptDir & "\" & $sGif, @TempDir & "\" & $sGif , 1)
$sFile = @TempDir & "\" & $sGif
$string = "abcdefghijklmnopqrstuvwxyz"
$lettres  = StringSplit($string, "")

; Récupération des dimension du Gif
Global $aGIFDimension = _GIF_GetDimension($sFile)
; Fabrication de la GUI
Global $hGui = GUICreate("GIF Animation", $aGIFDimension[0], $aGIFDimension[1], -1, -1, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_TOPMOST))

Global $hGIF = _GUICtrlCreateGIF($sFile, "", 0, 0)
;GUICtrlSetTip(-1, "Touche Echap pour quitter!")

; Une GUI sans bords
GUISetBkColor(345)
_WinAPI_SetLayeredWindowAttributes($hGui, 345, 255) ; transparence
_WinAPI_SetParent($hGui, 0)


HotKeySet("!q", "Quitte"); Alt-q = quitter
_lettre_clef() ; Choix d'une lettre du clavier entre a et z

Func montre() ; mise en action du programme lorsque la touche est activée
   GUISetState(@SW_SHOW)
   sleep(500); affichage du gif pendant 1/2 seconde
   GUISetState(@SW_HIDE) ; fermeture du gif
   HotKeySet($lettre) ; la lettre clef est desactivée
   HotKeySet(StringUpper($lettre))
   _lettre_clef() ;
EndFunc

func Quitte()
   FileDelete($sFile)
   Exit
EndFunc

; lettre au hasard
func _lettre()
   $lettre_choisi=$lettres[Random(7, $lettres[0], 1)]
   return $lettre_choisi
EndFunc

func _lettre_clef()
   $lettre = _lettre()
   consolewrite($lettre)
   HotKeySet($lettre, "montre") ; activation de la touche
   HotKeySet(StringUpper($lettre), "montre")
EndFunc

; Loop and wait for/till exit
While 1
   sleep(10)
WEnd
Avatar du membre
Yogui
Niveau 9
Niveau 9
Messages : 689
Enregistré le : ven. 18 avr. 2008 17:29
Status : Hors ligne

Re: Un peu de fun pour les congés...

#2

Message par Yogui »

Salut

Je l'ai testé sur mon PC et c'est marrant.
Le tester sur la machine d'un collègue je ne le ferai pas par contre ;)

Par contre tres tres beau code les commentaires sont simple et suffisant.

Merci pour ce partage
Répondre