1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
#! /usr/bin/python
# -*- coding: utf-8 -*-
# Python v2.7
import os, sys
import base64
from PyQt4 import QtCore, QtGui
#############################################################################
class Fenetre(QtGui.QMainWindow):
#========================================================================
def __init__(self, parent=None):
super(Fenetre,self).__init__(parent)
#############################################################################
if __name__ == "__main__":
# lancement du graphique
app = QtGui.QApplication(sys.argv)
# on définit l'identificateur unique de ce programme
progid = u"D6BB05B2919732D8F29045842531CAD23162E1B9"
#auquel on ajoute le chemin du home de l'utilisateur, encodé base64
progid += base64.b64encode(os.path.expanduser(u'~'))
# on prépare la création d'une zone partagée avec cette clé unique
sharedMemory = QtCore.QSharedMemory(progid)
# on essaye de créer cette zone partagée de taille 50 (quelconque):
# si ce n'est pas possible, c'est qu'elle existe déjà, et donc
# qu'elle a été créée par une instance précédente du même programme!
if not sharedMemory.create(50):
QtGui.QMessageBox.warning(None,
u"Vérification",
u"""
Attention:
ce programme est déjà en cours d'exécution
utilisez la version déjà lancée!
""")
app.quit()
sys.exit(0)
# lancement de la fenêtre
fen = Fenetre()
fen.show()
sys.exit(app.exec_()) |
Partager