Comment trouver à quel produit appartient un processus?

Je dois obtenir des informations sur le produit d’un processus.
Par exemple, je dois savoir si le processus WINWORD appartient à Office 2010 ou Office 2013. Un autre exemple serait le logiciel d’Adobe Creative Suite.
En général, pour un processus, quel nom peut être identique pour différentes suites, comment trouver la version de la suite.

Dans un service, j’ai une liste de noms de processus, extraits d’un serveur. Je vérifie depuis combien de temps l’utilisateur utilise ce processus et renvoie ces informations au serveur. Étant donné que le service sera installé sur plusieurs ordinateurs, la suite Office, la suite Adobe ou tout autre produit peut être différente, mais il est probable que le processus porte le même nom dans chaque suite.
Actuellement, sur le serveur, je n’ai aucun moyen d’identifier la version à laquelle appartient le processus. Par exemple, être capable de montrer pendant combien de temps, par exemple, Microsoft Word 2010 a été utilisé et donc pour chaque version

J’espère que je suis clair.


Merci @Niels pour votre consortingbution, qui consiste à récupérer un processus MajorPart partir de FileVersionInfo .
Nous pouvons envoyer ces informations en plus. Il est facile d’identifier des suites comme Office, où toutes les versions principales des produits sont les mêmes, bout à bout …
Avec la liste d’adobe, vous m’avez montré que dans une suite Adobe, la plupart des produits ont une version différente et c’est ce que nous avons peur de vérifier un processus FileVersionInfo . Le fait de devoir configurer sur le serveur un moyen de lier la version principale de chaque produit à la suite uniquement pour Adobe signifie que cela doit être fait pour chaque logiciel dans la même situation ou une situation similaire.

Vous pouvez examiner les propriétés du fichier, comme le montre également Explorer:

Contrôle de version Word 2013

Pour récupérer ces données dans .NET, inspectez une instance FileVersionInfo renvoyée par FileVersionInfo.GetVersionInfo . Des exemples sont fournis sur les deux pages d’aide, mais le plus simple serait pour votre cas, car vous êtes uniquement intéressé par les principaux numéros de version:

  // Get the file version for the notepad. FileVersionInfo myFileVersionInfo = FileVersionInfo.GetVersionInfo(Environment.SystemDirectory + "\\Notepad.exe"); // Print the product major part number. textBox1.Text = "Product major part number: " + myFileVersionInfo.ProductMajorPart; 

Les numéros de build eux-mêmes sont bien documentés pour de bonnes suites logicielles telles que MS Office .