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()
Partager