Bonjour tout le monde,

Je me suis fait un service python qui ecoute un port quand une reponse est repéré il lance un .exe avec une question oui ou non ...

Mon probleme est que je vois bien mon exe se lancer dans le gestionnaire des tache mais je ne vois pas l'interface avec la pop up voici mon code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
 
'''
 
 Author: Alex Baker
 Date: 7th July 2008
 Description : Simple python program to generate wrap as a service based on example on the web, see link below.
 
 http://essiene.blogspot.com/2005/04/python-windows-services.html
 
 Usage : python aservice.py install
 Usage : python aservice.py start
 Usage : python aservice.py stop
 Usage : python aservice.py remove
 
 C:\>python aservice.py  --username <username> --password <PASSWORD> --startup auto install
 
'''
 
 
 
import win32service 
import win32event 
import win32evtlog 
import win32evtlogutil 
import win32serviceutil 
import win32process 
import ConfigParser 
import time, os, sys
import json
import urllib
from Tkinter import *
 
 
class aservice(win32serviceutil.ServiceFramework):
 
	_svc_name_ = "AlfrescoListener"
	_svc_display_name_ = "AlfrescoListener"
	_svc_description_ = "AlfrescoListener"
	start_cmd = r"C:\Python26\dist\Alfrescolistener.exe"
	def __init__(self, args):
		win32serviceutil.ServiceFramework.__init__(self, args)
		self.hWaitStop = win32event.CreateEvent(None, 0, 0, None)           
 
	def SvcStop(self):
		self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
		win32event.SetEvent(self.hWaitStop)                    
 
	def SvcDoRun(self):
		self.DoBatch()
 
	def createProcess(self, cmd):
		return win32process.CreateProcess(
		None, cmd, None, None, 0, 0, None, None,
		win32process.STARTUPINFO())
 
 
	def DoBatch (self):
		import socket
		import servicemanager
		serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
		serversocket.bind((socket.gethostname(),5454))
		serversocket.listen(5)
		while 1 :
			if serversocket.accept() :
				info = self.createProcess(self.start_cmd)  
 
def ctrlHandler(ctrlType):
   return True
 
if __name__ == '__main__':   
   win32api.SetConsoleCtrlHandler(ctrlHandler, True)   
   win32serviceutil.HandleCommandLine(aservice)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
import socket
import json
import urllib
from Tkinter import *
 
def reponse():
    print json.dumps({"reponse" : "true", "ip" : socket.getaddrinfo(socket.gethostname(), None)[0][4][0]})
    urllib.urlopen("http://www.google.fr")
    fen1.destroy()
 
serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#Creation de la fenetre
fen1 = Tk()
#Titre de la fenetre
fen1.title("Alfresco Notification Listener");
#Question pour notification
txt1 = Label(fen1, text ="Envoyer une notification ?")
#Creation des boutons
b1 = Button(fen1, text ='Oui', command=reponse)
b2 = Button(fen1, text ='Non',command=fen1.destroy)
#Mise en place du logo alfresco
can1 = Canvas(fen1, width =150, height =150, bg ="white")
#Disposition des differents elements
txt1.grid(row =1, sticky =E)
b1.grid(row =1, column =2,sticky =E, padx =10)
b2.grid(row =1, column =3,sticky =E, padx =5)
can1.grid(row =1, column =4, rowspan =3, padx =10, pady =5)
#Afficher la fenetre
fen1.mainloop()