Page 1 sur 1

[R] Rendre l'écran noir ou non avec la même touche.

Posté : dim. 09 mai 2010 11:48
par Simoes03
Bonjours à tous, je suis toujours sur le même programme (En appuyant sur la touche F3, l'écran devient entièrement noir!)et encore un m'empêche d'avancer!

Quand je lance le programme et que j'appuie sur F3, tout ce passe bien: l'écran devient noir (sans bordure)! Mais lorsque que je r'appuie sur cette touche, l'écran redevient normal pendant quelque ms et redevient noir! :(

Voici le code:

Code : Tout sélectionner

#include <Misc.au3>

$dll = DllOpen("user32.dll")
$a = 1
HotKeySet("{F3}", "go")
HotKeySet("{ESC}", "esc")

While 1
    Sleep(100)
WEnd

Func go()
    
    if $a = 1 Then
    $destination = "C:\Users\*****\Desktop\Sans titre.jpg"

    SplashImageOn("Splash Screen", $destination,1540,1000)  <====== ICI je n'ai pas mis ma résolution d'écran pour ne pas voir les bordures.
    Sleep(1000)

    While 1
        If _IsPressed("72", $dll) Then
            $a = 2
            While _IsPressed("72", $dll)
                Sleep(100)
            WEnd
            ExitLoop
        EndIf
    WEnd
    EndIf
    if $a = 2 Then 
        SplashOff()
        
        Sleep(1000)
    While 1
        If _IsPressed("72", $dll) Then
            $a = 1
            While _IsPressed("72", $dll)
                Sleep(100)
            WEnd
            ExitLoop
        EndIf
    WEnd


    DllClose($dll)

    EndIf
EndFunc

Func esc()
    Exit
EndFunc
 

Re: [..] Rendre l'écran noir ou non avec la même touche.

Posté : dim. 09 mai 2010 11:56
par pop45

Code : Tout sélectionner

#include <Misc.au3>

$dll = DllOpen("user32.dll")
$a = 2
HotKeySet("{F3}", "go")
HotKeySet("{ESC}", "esc")

While 1
    Sleep(100)
WEnd

Func go()
    if $a = 1 Then 
        $a = 2
    Else
        $a = 1
    EndIf
    
   
    if $a = 1 Then
    $destination = "C:\Users\*****\Desktop\Sans titre.jpg"

    SplashImageOn("Splash Screen", $destination,1540,1000) ; <====== ICI je n'ai pas mis ma résolution d'écran pour ne pas voir les bordures.
    Sleep(1000)
    EndIf
    if $a = 2 Then
        SplashOff()
    EndIf
EndFunc

Func esc()
    DllClose($dll)
    Exit
EndFunc
essaye sa
et on peut encore virer des truck

Re: [..] Rendre l'écran noir ou non avec la même touche.

Posté : dim. 09 mai 2010 11:58
par Simoes03
Magnifique :D

Re: [R] Rendre l'écran noir ou non avec la même touche.

Posté : dim. 09 mai 2010 12:09
par SagePourpre
Si je peux me permettre ... :mrgreen:

Code : Tout sélectionner

#include <Misc.au3>
Global $splash, $destination = "M:\Canal du Pouf\DSCN2701.jpg"
HotKeySet("{F3}", "go")
HotKeySet("{ESC}", "esc")

While 1
    Sleep(100)
WEnd

Func go()
$splash = Not $splash
Switch $splash
    Case True
    SplashImageOn("Splash Screen", $destination,@DesktopWidth,@DesktopHeight+100)
    Case False
       SplashOff()
EndSwitch
EndFunc

Func esc()
    Exit
EndFunc
Toute l'histoire faîte autour de la variable $a ne sert à rien. Un
simple $a = Not $a (j'ai changé $a pour $splash, question d'élégance ) combiné à un Switch fait
le même travail en encore moins de lignes.



edit :
J'ai enlevé le dllopen et le dllclose également puisqu'il n'avait aucune espèce d'utilité
dans ce script...

Re: [R] Rendre l'écran noir ou non avec la même touche.

Posté : dim. 09 mai 2010 12:45
par pop45
t'en prend pas a moi hein j'ai fait qu'arranger un peut le squellete de son code en enlevant des cote inutiles et en bougeant les vertèbre ^^

Re: [R] Rendre l'écran noir ou non avec la même touche.

Posté : dim. 09 mai 2010 12:50
par SagePourpre
Je m'en prend à personne, j'ai juste peaufiner le tout ...


Il y'a un temps, moi aussi je faisais des trucs comme :

Code : Tout sélectionner

if $a = 0 then
$a = 1 
elseif $a = 1 then
$a = 0
endif
 
au lieu de :

Code : Tout sélectionner

$a = Not $a

Re: [R] Rendre l'écran noir ou non avec la même touche.

Posté : dim. 09 mai 2010 13:35
par pop45
Juste une question

Code : Tout sélectionner

 $a = NOT $a
sa veut dire que $a a une valeur booléenne (cad True ou False )?

Re: [R] Rendre l'écran noir ou non avec la même touche.

Posté : dim. 09 mai 2010 13:42
par SagePourpre
Exactement. :mrgreen:


Voci un court script de démonstration.

Code : Tout sélectionner

Global $a
$a = Not $a
MsgBox(0,'',$a)
 
héhé :D