Existe-t-il des alternatives à SHGetKnownFolderPath avec un jeton utilisateur pour Windows XP ?

StackOverflow https://stackoverflow.com//questions/22055822

Question

Mon logiciel doit toujours prendre en charge Windows XP.J'y appelle SHGetKnownFolderPath API du service Windows pour obtenir des chemins spécifiques à l'utilisateur (tels que FOLDERID_Desktop) par hToken.Étant donné que cette API n'est pas prise en charge sur XP, je suis curieux de savoir s'il existe d'autres moyens de le faire sur ce système d'exploitation ?

Était-ce utile?

La solution

La fonction appropriée à utiliser serait SHGetFolderLocation, en passant soit NULL ou -1 comme jeton d'accès :

hJeton [dans]

Taper:POIGNÉE

Un jeton d'accès qui peut être utilisé pour représenter un utilisateur particulier.Il est généralement défini sur NULL, mais il peut être nécessaire lorsqu'il existe plusieurs utilisateurs pour les dossiers qui sont traités comme appartenant à un seul utilisateur.Le dossier le plus utilisé de ce type est mes documents.La demande d'appel est responsable de l'identification correcte lorsque Htoken n'est pas nulle.Il doit avoir des privilèges de sécurité appropriés pour l'utilisateur particulier, et la ruche du registre de l'utilisateur doit être actuellement montée.Voir le contrôle d'accès pour une discussion plus approfondie des problèmes de contrôle d'accès.

L'attribution au paramètre hToken d'une valeur de -1 indique l'utilisateur par défaut.Cela permet aux clients de ShgetFolderLocation de trouver des emplacements de dossiers (tels que le dossier de bureau) pour l'utilisateur par défaut.Le profil utilisateur d'utilisateur par défaut est dupliqué lors de la création d'un nouveau compte utilisateur et comprend des dossiers spéciaux tels que mes documents et mes ordinateurs de bureau.Tous les éléments ajoutés au dossier utilisateur par défaut apparaissent également dans tout nouveau compte utilisateur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top