Menu quitter de windows xp

Soyez le premier à donner votre avis sur cette source.

Vue 7 595 fois - Téléchargée 657 fois

Description

Voila une simple copie du menu quiter de windows...

J'utilise Photoimage, qui affiche des screenshots du menu, utilisable sous tout les os ! (a condition de changer les fonctions)

Source / Exemple :


from sys import exit
from os import system
from Tkinter import *
from tkMessageBox import showinfo
flag=1
flag1=0
flag2=0

def eteindre (event=None):
    system('shutdown.exe -s -t 0')

def redemarer (event=None) :
    system('shutdown.exe -r -t 0')

def veille (event=None) :
    system('rundll32.exe powrprof.dll,SetSuspendState')

def d (event=None):
    global flag
    flag+=1
    if flag == 5 :flag= 4
    mod()

def g (event=None):
    global flag
    flag-=1
    if flag == 0 :flag= 1
    mod()

def a (event=None):
    global flag1
    if not flag1 : flag1=1 ; mod(); root.after(10000,_a)

def _a (event=None):
    global flag1
    flag1=0
    mod()

def m (event=None):
    global foto,flag2,item2
    if event.y in range(82,115):
        if event.x in range (55,84):
            if flag2  != 1 :
                if flag2 !=0: can.delete(foto)
                foto=PhotoImage(file='v.gif')
                item2=can.create_image(69,97,image=foto)
                flag2=1 
        elif event.x in range (175,208):
            if flag2  != 2 :
                if flag2 !=0: can.delete(foto)
                foto=PhotoImage(file='e.gif')
                item2=can.create_image(189,97,image=foto)
                flag2=2
        elif event.x in range (294,326):
            if flag2  != 3 :
                if flag2 !=0: can.delete(foto)
                foto=PhotoImage(file='r.gif')
                item2=can.create_image(308,98,image=foto)
                flag2=3
        else :
            if flag2 !=0:
                can.delete(item2)
                flag2=0
    elif event.x in range(310,368):
        if event.y in range(169,188):
            if flag2  != 4 :
                if flag2 !=0: can.delete(foto)
                foto=PhotoImage(file='c.gif')
                item2=can.create_image(337,178,image=foto)
                flag2=4
        else :
            if flag2 !=0:
                can.delete(item2)
                flag2=0
    else :
        if flag2 !=0:
            can.delete(item2)
            flag2=0

def mod (event=None) :
    global photo,item
    can.delete(item)
    if flag1 :
        if flag == 1 : photo=PhotoImage(file='dash_v_.gif')
        elif flag == 2 : photo=PhotoImage(file='dash_e_.gif')
        elif flag == 3 : photo=PhotoImage(file='dash_r_.gif')
        elif flag == 4 : photo=PhotoImage(file='dash_c_.gif')
        else : print 0
    else :
        if flag == 1 : photo=PhotoImage(file='dash_v.gif')
        elif flag == 2 : photo=PhotoImage(file='dash_e.gif')
        elif flag == 3 : photo=PhotoImage(file='dash_r.gif')
        elif flag == 4 : photo=PhotoImage(file='dash_c.gif')
        else : print 1
    item=can.create_image(191,100,image=photo)

def jj (event=None) :
    global flag2
    if flag2 !=0:
        can.delete(item2)
        flag2=0
        if event.y in range(82,115):
            if event.x in range (55,84):
                veille()
            elif event.x in range (175,208):
                eteindre()
            elif event.x in range (294,326):
                redemarer()
        elif event.x in range(310,368):
            if event.y in range(169,188):
                exit()

root=Tk()
root.title('exit window')
root.bind('<Right>',d)
root.bind('<Left>',g)
root.bind('<m>',veille)
root.bind('<t>',eteindre)
root.bind('<r>',redemarer)
root.bind('<Alt-a>',a)                       # pour simuler le alt 
can=Canvas(height=200,width=382,bg='grey')
photo=PhotoImage(file='dash_v.gif')
item=can.create_image(191,100,image=photo)
can.grid(row=1,column=0,columnspan=5)
can.bind('<Button1-Motion>',m)
can.bind('<Button-1>',m)
can.bind('<Button1-ButtonRelease>',jj)
root.mainloop()

Conclusion :


Attention l'ordi se redemare et s'éteint vraiment !!!

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
336
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
8 novembre 2011
1
Merci Jeak
Messages postés
1
Date d'inscription
lundi 29 juin 2009
Statut
Membre
Dernière intervention
29 juin 2009

trés bon programme sans commantaire sa mérite un 10/10
Messages postés
382
Date d'inscription
mercredi 23 août 2006
Statut
Membre
Dernière intervention
8 novembre 2010
11
J'ai trouvré la fonction pour mettre en veuille :
system('rundll32.exe powrprof.dll,SetSuspendState') #Selement pour xp
Messages postés
47
Date d'inscription
jeudi 17 octobre 2002
Statut
Membre
Dernière intervention
24 mars 2007

Mon dieu. A 13 ans je programmais en Pascal : Quelle chance d'avoir à disposition des langages relativement performant et pas trop compliqués pour s'y faire les dents ! Juste pour dire bravo et bonne continuation !
Messages postés
382
Date d'inscription
mercredi 23 août 2006
Statut
Membre
Dernière intervention
8 novembre 2010
11
C'est un bon code qui mérite bien un petit 10/10. Pour te rapprocher de la véritable fenêtre de fermeture de Windows, je te conseil d'utiliser WxPython, tu pourra créé une interface graphique digne de ce nom !

Bonne continuation

___________
Aéra group
Afficher les 16 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.