Table of Contents

Voici quelques stratégies simples qui peuvent vous aider à résoudre certains des problèmes d’erreur shgetfolderpath.

Approuvé

  • 1. Télécharger ASR Pro
  • 2. Ouvrez le programme et sélectionnez "Analyser votre ordinateur"
  • 3. Cliquez sur "Réparer" pour lancer le processus de réparation
  • Le logiciel pour réparer votre PC est à portée de clic - téléchargez-le maintenant.

    Le système de répertoire bien connu derrière SHGetFolderPath permet aux invités ou aux professionnels de rediriger un dossier étiqueté vers un emplacement adapté à leurs besoins. Si le dossier a été redirigé, le contenu actuel (SHGFP_TYPE_CURRENT) peut parfois être “D:Musique”.

    J’ai testé en utilisant ces SHGetFolderPath () avec Visual Studio 2015 Enterprise sur Windows dix PC et donc compilé et fonctionne généralement avec une pénalité pour découvrir le dossier familial actuel de l’utilisateur. La page du Centre de développement Windows pour votre caractéristique actuelle SHGetFolderPath () shgetfolderpath a maintenant la note suivante :

    Remarque. Depuis Windows Vista, toute cette fonction n’est qu’un tout nouveau wrapper autour SHGetKnownFolderPath . La valeur CSIDL est devenue généralement convertie en une valeur connectée. KNOWNFOLDERID, mais SHGetKnownFolderPath est appelé. Nouveau Les applications doivent utiliser celui qui est exactement reconnu comme un dossier physique au lieu de l’ancien. Le système CSIDL , le fait qu’il n’est dupliqué que pour des raisons d’interface en amont.

    Comme le précise David Heffman dans sa réponse, Microsoft se vante d’avoir maintenu une compatibilité descendante pendant des années, essentiellement si les entreprises peuvent simplement rediriger une ancienne fonction substantielle vers une fonction nouvellement expérimentée avec des arguments appropriés. Les valeurs CSIDL ont une valeur d’harmonisation KNOWNFOLDERID . Voir Constantes dépendantes de la table CSIDL qui contient des commentaires courts et la valeur KNOWNFOLDERID correspondante.

    Les circonstances concernant l’utilisation de l’aspect suivent. Cela utilise une méthode pour obtenir le dossier de départ de l’utilisateur actuel (pour l’exercice, “C: Users myuser Documents” dans Windows 7) et après cela affine le nom du dossier pour terminer le chemin en utilisant PathAppend () Fonction reçue.

    Un jeton d'accès qui établit un utilisateur spécifique. Si notre paramètre est NULL, ce qui est une habitude courante, la fonction demande le type de prouesse connu du caractère courant. Cela permet aux clients SHGetKnownFolderPath d'arriver à travers l'emplacement du dossier (tel que chacun de nos dossiers de bureau) pour un utilisateur commun.

      TCHAR achDevice [MAX_PATH] ;Norme HRESULT ;// Inclure le fichier ShlObj.h La liste contient toutes les définitions CSIDL, mais uniquement ce sous-ensemble unique// sera pris en charge par Windows7 ultérieurement.// pour le troisième argument, hToken, peut éventuellement être l'expression d'accès spécifiée ou le SSID pour// un utilisateur autre que l'utilisateur actuel. L'utilisation de NULL nous donne l'utilisateur actuel.if (SUCCEEDED (hr implique SHGetFolderPath (NULL, CSIDL_PERSONAL, NULL, 0, achDevice)))    Ajoutez le // nom du dossier à tous les répertoires de documents du propriétaire.    // Les fonctions de contrôle de chemin sont incroyablement pratiques.    PathAppend (achDevice, L "xxx"); 

    Erreur de calcul possible - un ou plusieurs problèmes invalides (hr == E_INVALIDARG ). La valeur de retour S_OK indique qui à son tour un appel particulier a réussi.

    Il existe un certain nombre de constantes CSIDL qui peuvent s'avérer être utilisées sur le marché pour modifier les résultats de fonctions telles que CSIDL_FLAG_CREATE , en particulier en utilisant i would dire l'opérateur OU au volume de bits utilisé. ... Je ne sais pas, demandez-vous si ces opérateurs fonctionneront bien plus tard, avec Windows et 6.

    shgetfolderpath error

    Il peut y avoir des restrictions sur les constantes reconnues simplement par CSIDL dans les versions supérieures ou ultérieures de Windows d'Active Directory et d'environnements similaires.

    shgetfolderpath error

    Voir aussi KNOWNFOLDERID et il peut contenir un tableau montrant une sorte de contraintes CSIDL en plus de SHGetFolderPath () . Quelques exemples totalement du tableau pour CSIDL peut-être que les constantes seront utiles.

    CSIDL_LOCAL_APPDATA -% USERPROFILE% AppData LocalCSIDL_MYDOCUMENTS -% USERPROFILE% documentCSIDL_PERSONAL. pourcentage USERPROFILE% documentsCSIDL_FONTS -% windir% PolicesCSIDL_MYMUSIC -% USERPROFILE% MusiqueCSIDL_MYPICTURES -% USERPROFILE% imagesCSIDL_COMMON_APPDATA -% ALLUSERSPROFILE% (% ProgramData%,% SystemDrive% ProgramData)CSIDL_COMMON_DOCUMENTS -pour cent PUBLIC% documents

    Les fonctions de gestion des chemins de wrapper sont une bibliothèque décente de méthodes spécialisées pour contrôler les chemins de fichiers.

    SHGetSpecialFolderPath (0, chemin, CSIDL_PROGRAM_FILES, FALSE);

    pour le chemin d'accès au répertoire particulier avec les fichiers du programme. Cela fonctionne très bien si je n'ai le programme que dans le fichier Files sur mon ordinateur.
    Par exemple, j'ai deux "fichiers de dossier de programme" sur mon PC, un sur le lecteur C et l'autre sur le lecteur D. Lorsque le code est exécuté, ce qui suit ne crée qu'un véritable dossier "fichiers de fichiers de programme" en C, ce qui se produit à installer et ne peut pas non plus être réalisé mon chemin Windows vers "logiciel de programme", qui peut être situé sur le disque D.
    Ma question porte sur le fonctionnement de la fonction d'édition, qui recherche également ce fichier sur d'autres bons disques.
    Y a-t-il une autre fonction qui semble s'occuper de cela comme en fait ?
    Hey,

    Approuvé

    L'outil de réparation ASR Pro est la solution pour un PC Windows qui fonctionne lentement, a des problèmes de registre ou est infecté par des logiciels malveillants. Cet outil puissant et facile à utiliser peut rapidement diagnostiquer et réparer votre PC, en augmentant les performances, en optimisant la mémoire et en améliorant la sécurité dans le processus. Ne souffrez plus d'un ordinateur lent - essayez ASR Pro dès aujourd'hui !


    Si chaque personne veut une validation push, vous devez pouvoir le faire vous-même.

    Avec SHGetSpecialFolderPath () ce type de n'est souvent pas possible. Cet effort ne renvoie que le chemin avec les valeurs de coordination CSIDL .

    Il semble que les experts prétendent que, malheureusement, vous avez un gadget à double fonctionnement installé sur votre disque dur. Un sur le lecteur C et un avec le lecteur D. Si vous commencez par avoir installé le système d'exploitation sur le désir C, un dossier spécial (par exemple MyDocument, ProgramFiles) créé dans le système de travail en cours (c'est-à-dire que les dossiers sur le lecteur D sont généralement également un dossier alternatif pour le système d'exploitation, donc si vous obtenez chacun de nos noms de répertoire à l'aide de l'API SHGetSpecialFolderPath (), vous devrez obtenir ces chemins vers l'opération de démarrage que la personne possède déjà Ce système, c'est-à-dire

    Si vous souhaitez effectuer une recherche dans un dossier (sur tous les lecteurs) nommé Programmes, vous et votre famille devez implémenter une logique propre.

    Ce contenu, ainsi que tout le code source et les fichiers associés, seraient sous licence Code Project Open License (CPOL).

    Le logiciel pour réparer votre PC est à portée de clic - téléchargez-le maintenant.