[C#] Windows Service

Signaler
Messages postés
714
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
19 janvier 2017
-
Messages postés
714
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
19 janvier 2017
-
Ayant un objet:
ServiceController m_oService;



On a :
m_oService.Start ();
m_oService.Stop ();


que l'on peut tester avec :

m_oService.Status == ServiceControllerStatus.Running
ou
m_oService.Status ==
ServiceControllerStatus.Stopped


c'est super mais maintenant, pour tester le disable/enable, ca se complique :
// Get extend informations
ManagementObject wmiService =
null;

try
{
wmiService =
new ManagementObject(
"Win32_Service.Name='" + oService.ServiceName +
"'");

if (wmiService !=
null)
{
wmiService.Get ();
}
}

catch (Exception e)
{
// Blah blah
}

if (wmiService !=
null)
{

// Start mode
if (wmiService[
"StartMode"].ToString () ==
"Disabled")
// Manual/Auto/Disabled
{
// Blahblah

}
}

bon tout ca fonctionne sans pb. Maintenant, comment définir le serice comme désactivé ou activé ?
----------------------------
C++ forever
C# amateur

5 réponses

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
97
La classe Win32_Service possède une méthode ChangeStartMode

Cocoricoooooooo !!!!
coq
MVP Visual C#
Messages postés
2
Date d'inscription
lundi 14 novembre 2005
Statut
Membre
Dernière intervention
16 janvier 2006

Bonjour,


Je souhaiterais savoir si il est possible de lancer un fichier excel contenant une macro à partir d'un service windows ?


En sachant que dès que le fichier est ouvert la macro s'exécute et referme le fichier toute seule.


Merci

Marcopolo
Messages postés
714
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
19 janvier 2017

Ton intention n'a pas l'air très honnête.... Je te suggère donc soit de préciser ton but final soit de te débrouiller par toi meme

----------------------------
C++ forever
C# amateur
Messages postés
2
Date d'inscription
lundi 14 novembre 2005
Statut
Membre
Dernière intervention
16 janvier 2006

En fait je souhaite juste savoir si on peut faire un process.start("excel.exe"); dans un service windows.
La commande fonctionne lorsque je lance un application console mais pas en tant que service windows.
Je vois le processus EXCEL.EXE ce lancer mais rien ne se passe.

Je te rassure mon intention est très honnête ou alors je suis viré ....

Je sais que ce n'est pas très catholique tout ça mais pas le choix en tout cas ;-))

Merci pour ton aide.
Messages postés
714
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
19 janvier 2017

essaye voir deja de lancer une appli à la con qui fait un write dans un fichier.
Ca te permettra de voir déjà si ta routine fonctionne (je me souviens dans un prog de controle parental, lorsque tu recuperes les HWND en mode normal ou service ce n'était pas pareil et qu'il fallait ouvrir un objet de type WindowsDesktop ou qql chose du genre).
Une fois que ca ca fonctionne, remplace en mettant juste excel (essaie de chopper les codes d'erreur ca peut servir)

et ensuite t'avance pas à pas voir ce que ca donne.

Essaye voir aussi avec le Excel viewer 2003 plus leger ca peut donner D pistes

----------------------------
C++ forever
C# amateur