Maison > développement back-end > C++ > Comment puis-je détecter la version spécifique de Windows 10 sur plusieurs plates-formes ?

Comment puis-je détecter la version spécifique de Windows 10 sur plusieurs plates-formes ?

Linda Hamilton
Libérer: 2024-11-05 10:17:02
original
973 Les gens l'ont consulté

How Can I Detect the Specific Windows 10 Version Across Multiple Platforms?

Détection de la version de Windows 10 sur toutes les plates-formes

Objectif :

Déterminer la version spécifique de Windows 10 utilisée dans un croisement -base de code de plate-forme qui cible Windows 7 et versions ultérieures.

Défi :

Windows fournit la fonction IsWindows10OrGreater(), mais elle n'est pas disponible dans les anciennes versions de Windows et peut ne pas l'être. signaler avec précision la version majeure du système d'exploitation.

Solution :

Utiliser la fonction RtlGetVersion dans le cadre d'une approche compatible entre versions :

<code class="c++">typedef LONG NTSTATUS, *PNTSTATUS;
#define STATUS_SUCCESS (0x00000000)

typedef NTSTATUS (WINAPI* RtlGetVersionPtr)(PRTL_OSVERSIONINFOW);

RTL_OSVERSIONINFOW GetRealOSVersion() {
    HMODULE hMod = ::GetModuleHandleW(L"ntdll.dll");
    ... (Module handle and function lookup code) ...
        RTL_OSVERSIONINFOW rovi = { 0 };
        rovi.dwOSVersionInfoSize = sizeof(rovi);
        if ( STATUS_SUCCESS == fxPtr(&amp;rovi) ) {
            return rovi;
        }
    ... (Error handling code) ...
}</code>
Copier après la connexion

Cette fonction récupère avec précision la véritable version du système d'exploitation sur Windows 10, même en l'absence de manifeste.

Approche alternative :

Pour une compatibilité améliorée et une pérennité, envisagez de spécifier la fonctionnalité exigences plutôt que des versions spécifiques du système d’exploitation. Cela garantit que votre code se comporte de manière cohérente dans différentes versions de Windows avec des fonctionnalités variables.

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