WMI problème type de données CIM_Process

Tomtete Messages postés 8 Date d'inscription vendredi 4 mai 2012 Statut Membre Dernière intervention 4 mai 2012 - 4 mai 2012 à 12:32
Tomtete Messages postés 8 Date d'inscription vendredi 4 mai 2012 Statut Membre Dernière intervention 4 mai 2012 - 4 mai 2012 à 15:32
Bonjour,

je vous sollicites car j'ai un problème depuis quelque jour.

Pour mon entreprise, je dois créé un soft qui permet de scruter les process actif et de les classer par date de création, j'ai récupérer la date de création de mes process via WMI mais ce que je récupère est un string représentant un énorme nombre j'ai donc essayé de le caster en DateTime mais sans succès.

Ma question est donc la suivante quel est le moyen de connaitre le format de la date ?
ou bien y'a t'il un autre moyen (avec WMI si possible) de récupérer la date de création du process ?

            ManagementScope managementScope = new ManagementScope("\\\\localhost\\root\\cimv2");
            ObjectQuery objectQuery = new ObjectQuery("select * from CIM_Process");
            ManagementObjectSearcher objectSearcher = new ManagementObjectSearcher(managementScope, objectQuery);
            ManagementObjectCollection objectCollection = objectSearcher.Get();
            String processName = null;
            String processDate = null;
 
foreach (ManagementObject managedObject in objectCollection)
            {
                processName = managedObject["Caption"].ToString();
                try
                {
                    processDate = managedObject["CreationDate"].ToString();
                    processDate = processDate.Replace('.', ',');
                    processDate = processDate.Replace("+", "E+");

                    DateTime dateCrea = DateTime.Parse(processDate);
                }catch(Exception e)
                {
                    Console.WriteLine(e.Message);
                }
                Console.WriteLine("nom : "+processName+" date de création : "+ dateCrea);
}
A voir également:

4 réponses

cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
4 mai 2012 à 14:17
Re ^^

Alors je suis un peu allé voir la trogne de ces valeurs.
Voilà à quoi ressemble une valeur que j'ai réceptionnée :
20120504141246.024261+120
Et voilà les informations en lisible :
04/05/2012 14:12:46
Tu vois le découpage, nop ?

Du coup c'est pas un parse qu'il te faut utiliser mais un substring.
0
Tomtete Messages postés 8 Date d'inscription vendredi 4 mai 2012 Statut Membre Dernière intervention 4 mai 2012 1
4 mai 2012 à 15:12
AAaaah merci, vraiment bien vue. Comment a tu trouver qu'il fallait faire un découpage et non un "parsage" ?

En tout cas merci
0
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
4 mai 2012 à 15:16
L'oeil de lynx !

Plus sérieusement quand je suis tombé sur ton premier sujet j'ai vu que tu nommais ta variable processDate et la constante donnée en exemple commençait par 2012, ça m'a mis la puce à l'oreille. Donc j'ai créé un petit projet pour regarder les valeurs de mes proç perso et pu valider mon hypothèse
0
Tomtete Messages postés 8 Date d'inscription vendredi 4 mai 2012 Statut Membre Dernière intervention 4 mai 2012 1
4 mai 2012 à 15:32
Oui je n'avais pas remarqué particulièrement le "2012" encore merci et à bientôt ! :)
0
Rejoignez-nous