Heim > Backend-Entwicklung > C++ > Wie kann ich die spezifische Windows 10-Version auf mehreren Plattformen erkennen?

Wie kann ich die spezifische Windows 10-Version auf mehreren Plattformen erkennen?

Linda Hamilton
Freigeben: 2024-11-05 10:17:02
Original
1010 Leute haben es durchsucht

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

Plattformübergreifende Erkennung der Windows 10-Version

Ziel:

Bestimmen Sie die spezifische Version von Windows 10, die in einem Crossover verwendet wird -Plattform-Codebasis, die auf Windows 7 und höher abzielt.

Herausforderung:

Windows bietet die Funktion IsWindows10OrGreater(), diese ist jedoch in älteren Windows-Versionen nicht verfügbar und möglicherweise auch nicht Geben Sie die Hauptversion des Betriebssystems genau an.

Lösung:

Verwenden Sie die RtlGetVersion-Funktion innerhalb eines versionierungsübergreifenden kompatiblen Ansatzes:

<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>
Nach dem Login kopieren

Diese Funktion Ruft die wahre Betriebssystemversion unter Windows 10 genau ab, auch wenn kein Manifest vorhanden ist.

Alternativer Ansatz:

Für eine verbesserte Kompatibilität und Zukunftssicherheit sollten Sie die Angabe einer Funktion in Betracht ziehen Anforderungen statt spezifischer Betriebssystemversionen. Dadurch wird sichergestellt, dass sich Ihr Code über verschiedene Windows-Versionen hinweg mit unterschiedlichen Funktionen konsistent verhält.

Das obige ist der detaillierte Inhalt vonWie kann ich die spezifische Windows 10-Version auf mehreren Plattformen erkennen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage