Comment puis-je déterminer le processus à l'aide d'un port série?
L'entreprise pour laquelle je travaille fait matériel qui communique à l'ordinateur si un port série. Tiers des entreprises écrire un logiciel qui communique avec notre matériel.
Il y a des moments où j'ai besoin de poser le diagnostic du matériel. Cependant, un tiers des logiciels d'application se connecte au port série au démarrage de Windows, le blocage de toute autre connexion. Je ne sais pas le nom de cette application/service et il n'est pas toujours la même.
Est de quelque manière que ce soit:
- Trouver le nom/pid de l'application/service qui est actuellement en utilisant un port série ou
- Voler la connexion du port série à partir d'une autre application.
vb.net de préférence, mais je vais prendre un la langue agnostique répondre ainsi.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le process explorer outil de SysInternals pour rechercher des poignées ouvertes. Dans ce cas, vous voulez la recherche pour "Série", car il utilise des noms de périphériques qui peuvent ne pas correspondre aux numéros de port com. (par exemple COM1 est \Device\Serial0 sur mon système).
Si vous voulez prendre le contrôle du port série à partir d'une autre application, je pense que vous auriez besoin de la coopération de la pilote.
usbser.sys
pilote.\Device\NPdrv...
)Comme Rob Walker a dit, vous pouvez trouver qui est à l'aide d'un port série à l'aide de Process Explorer. La plupart du temps, en tapant Ctrl+F et de la recherche pour "serial" va vous montrer qui a un port série ouvert, mais j'ai juste couru dans une situation où mon "COM3" port série de la poignée est apparu comme "\Device\VCP0". Il peut être étrange, car il était en cours d'exécution sous VirtualBox avec un USB-connecteur série.
Si la recherche de "série" et "device\pcv" ne vous obtenez des résultats, vous pourriez être en mesure de comprendre comment port série poignées sont nommés par l'ouverture d'un avec un programme connu. Dans l'Explorateur de Processus, d'afficher le volet inférieur avec chaque processus ouvert poignées en tapant Ctrl+L. Cliquez sur le processus que vous avez utilisé pour ouvrir le port série et regarder à travers le volet inférieur à voir qui gère les regardent comme ils pourraient être un port série. Vous pouvez ouvrir et fermer le port pendant que vous êtes à la recherche, et le descripteur de fichier devrait apparaître et de disparaître, ainsi que d'être mis en évidence en vert ou en rouge. Bien sûr, cela n'est possible que si vous avez plus d'un port série ou le port série que vous essayez de diagnostiquer n'est pas toujours verrouillé par un mystère processus.
Sysinternals a un tas d'utilitaires je trouve très utile et éducatif pour le suivi de ce processus sont fait pour du système.
Ils ont un utilitaire qui fait exactement ce dont vous avez besoin appelée Portmon, et de donner des renseignements sur la façon dont il fonctionne près du bas de la page. Cette info, et quelques questions posées seront probablement vous donner tout ce dont vous avez besoin pour mettre en œuvre vous-même si l'utilitaire n'est pas assez.
-Adam