tomylibre
Messages postés37Date d'inscriptiondimanche 28 octobre 2007StatutMembreDernière intervention 4 juillet 2014
-
14 mars 2009 à 15:43
Cirec -
16 mars 2009 à 07:59
salut à tous, je vais poser ce question car g pas trouver vraimant une solution précise sur mon probleme, bon, je débute avec un service qui fait comme première étapes une connection à un BD mysql distant, et ca marché la connection , mais je veut faire un menu qui aide l'utilisateur de mon service à démarer, arreter , ou suspendre ce service , avec un icon de notification (tray icon), lorsque on clique au dessu un menu s'affiche ayyant les options : start , stop , pause. mes deux probleme c que je ne sais pas comment arreter mon service ou bien le suspendre , 2ement , j'ai pas trouver comment faire le "tray icon" , j'ai developper avec le VB ca été facile de le faire .
j'attend votre aide , et merci d'avance .
tomylibre
Messages postés37Date d'inscriptiondimanche 28 octobre 2007StatutMembreDernière intervention 4 juillet 2014 14 mars 2009 à 20:26
la fonction CreateService est marché corresctement car elle a retourné une valeur supérieur à 0 mais le service n'est pas stopé , je ne sais pas ou le probleme , apres le CreateService g fait ca :
Srv_Hwnd := OpenService(Srv_CtrlMngr, PChar('service1'), SERVICE_ALL_ACCESS);
et ca retourné un 0 ce qui est faux ,
tu peut m'aider Bacterius , et merci.
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 14 mars 2009 à 20:34
@Message 1 : Normalement, quand tu fais CreateService, ça te renvoie directement le handle du service, donc pas besoin d'appeller OpenService par dessus.
@Message 2 : Application.ExeName donne l'emplacement de l'executable (.exe).
Donc, PChar(Application.ExeName).
Cordialement, Bacterius !
Vous n’avez pas trouvé la réponse que vous recherchez ?
tomylibre
Messages postés37Date d'inscriptiondimanche 28 octobre 2007StatutMembreDernière intervention 4 juillet 2014 14 mars 2009 à 20:42
tu veut dire Application.ExName , ca marché sans e chez moi
mais pourtant le CreateService c pas marché , tien le voila toute la phrase :
S:=CreateService(Srv_Ctrlmngr,PChar('service1'),PChar('service1'),SC_MANAGER_ALL_ACCESS,SERVICE_WIN32_OWN_PROCESS,SERVICE_AUTO_START,SERVICE_ERROR_IGNORE,PChar( 'Application.ExName' ),nil,nil,nil,nil,nil);
S retourne un 0 , c pas juste non ?
tomylibre
Messages postés37Date d'inscriptiondimanche 28 octobre 2007StatutMembreDernière intervention 4 juillet 2014 14 mars 2009 à 20:51
dsl bacterius si je te dérange avec mes questions , mais c mon projet de sin d'études , et je ne sais rien en delphi , d'hailleur je le connai ca fait 2 semaine , lol,
tien g fait ca :
S :=CreateService(Srv_Ctrlmngr,PChar('service1'),PChar('service1'),SC_MANAGER_ALL_ACCESS,SERVICE_WIN32_OWN_PROCESS,SERVICE_AUTO_START,SERVICE_ERROR_IGNORE,PChar( Application.ExeName ),nil,nil,nil,nil,nil);
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 14 mars 2009 à 20:51
Non, ce n'est pas normal.
Il existe une API supra-utile, qui s'appelle GetLastError. Elle permet de récupérer la dernière erreur d'une API pour un processus.
Fais Err := GetLastError; juste après CreateService, et dis-moi à quoi est égal Err.
tomylibre
Messages postés37Date d'inscriptiondimanche 28 octobre 2007StatutMembreDernière intervention 4 juillet 2014 14 mars 2009 à 20:58
ok bacterius , mais g mis Err := GetLastError; apres CreateService mais la compilation s'arrete avant la ligne Err et il me dit il est pas déclarer , pourtant g mis Forms dans uses.