Pregunta

¿Cómo puedo saber, mediante el uso de código C ++, que el usuario ejecute un servicio específico? La necesidad del programa I a escritura puede ejecutarse bajo una cuenta de administrador local, así que supongo que no habrá problemas de permisos.

¿Es posible?

TIA.

¿Fue útil?

Solución

En función de si se necesita el usuario del servicio actualmente en ejecución o el usuario especificado en los parámetros de inicio del servicio, ver QueryServiceObjectSecurity y funciones QueryServiceConfig en API de Windows respectivamente.

Otros consejos

Los siguientes son mis sugerencias, pero no he probado ninguno de ellos. Es posible utilizar QueryServiceConfig2 API con nivel de configuración de conjunto de servicios a SERVICE_CONFIG_SERVICE_SID_INFO y luego usar la API LookupAccountSid para encontrar el nombre de la cuenta asociada al servicio. (O) Usted puede utilizar el ToolHelp APIs para enumerar todos los procesos y averiguar la cuenta de usuario asociada con el proceso.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top