Maison > développement back-end > C++ > Comment obtenir de manière fiable le chemin « Program Files (x86) » sous Windows 64 bits ?

Comment obtenir de manière fiable le chemin « Program Files (x86) » sous Windows 64 bits ?

Patricia Arquette
Libérer: 2024-12-29 20:16:15
original
862 Les gens l'ont consulté

How to Reliably Get the

Obtention du chemin "Program Files (x86)" dans les systèmes Windows 64 bits

Lorsque vous tentez de déterminer la présence d'un logiciel sur la machine d'un utilisateur, en utilisant le chemin System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFiles)MyInstalledApp peut conduire à inexactitudes sur Windows Vista 64 bits. En effet, le code renvoie le dossier "Program Files" x64, alors que l'application en question réside dans "Program Files (x86)".

Pour résoudre ce problème, vous pouvez utiliser la fonction suivante, qui sera systématiquement renvoie le répertoire x86 "Program Files" dans toutes les configurations :

static string ProgramFilesx86()
{
    if (8 == IntPtr.Size ||
        (!String.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432"))))
    {
        return Environment.GetEnvironmentVariable("ProgramFiles(x86)");
    }

    return Environment.GetEnvironmentVariable("ProgramFiles");
}
Copier après la connexion

Dans ce function :

  • La condition IntPtr.Size == 8 vérifie si le système est 64 bits.
  • La condition !String.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432")) vérifie si la machine exécute un processus 32 bits sur un Système d'exploitation 64 bits, quelle que soit l'architecture matérielle sous-jacente.
  • Si l'une de ces conditions est vraie, la fonction renvoie le chemin du dossier x86 "Program Files" obtenu à partir de la variable d'environnement ProgramFiles(x86). Sinon, il renvoie le chemin "Program Files" par défaut.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal