Comment accéder à de registre HKCU de l'utilisateur actuellement connecté(s), à partir d'un service?

Dans un service windows je veux vérifier certaines préférences de l'utilisateur qui sont stockés à l'intérieur de chacun des utilisateurs de registre HKCU zone. Comment puis-je faire cela?

Je vois que HKEY_USERS a des sous-clés de chaque utilisateur qui s'est connecté à la machine (ou quelque chose comme ça?), et au sein de ces sont les HKCU pour chaque utilisateur. Cependant, ces sous-clés sont le Sid de l'utilisateur, donc, quelque part, j'avais besoin de travailler sur le SID de l'utilisateur actuellement connecté(s).

Je voudrais ensuite requête HKEY_USERS\<the users SID>\whichever\key\i\need à la place de l'interrogation HKEY_CURRENT_USER\whichever\key\i\need.

De cette question je peux obtenir une liste des utilisateurs actuels sur la machine au format DOMAINE\UTILISATEUR. Est-il un moyen d'obtenir le SID d'un utilisateur à partir de leur connexion windows? Ou est-il une méthode plus directe pour obtenir le chemin d'accès du registre qui est HKCU pour l'utilisateur actuellement connecté(s)?

Je ne suis pas sûr de ce que votre service à la tente d'accomplir et ne pas avoir un nom d'utilisateur -> SID solution, mais que comptez-vous faire si plus d'un utilisateur est actuellement connecté?
Je suis en train de recueillir leurs préférences de l'utilisateur, donc je vais faire une boucle par les utilisateurs et d'obtenir de chacun de ses préférences.

OriginalL'auteur Rory | 2010-03-02