목표:
교차적으로 사용되는 Windows 10의 특정 버전을 확인합니다. -Windows 7 이상을 대상으로 하는 플랫폼 코드베이스.
도전 과제:
Windows는 IsWindows10OrGreater() 기능을 제공하지만 이전 버전의 Windows에서는 사용할 수 없으며 그렇지 않을 수도 있습니다. 주요 OS 버전을 정확하게 보고하세요.
해결책:
버전 간 호환 접근 방식 내에서 RtlGetVersion 기능을 활용하세요.
<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(&rovi) ) { return rovi; } ... (Error handling code) ... }</code>
이 기능 매니페스트가 없는 경우에도 Windows 10의 실제 OS 버전을 정확하게 검색합니다.
대체 접근 방식:
향상된 호환성과 미래 보장을 위해 기능 지정을 고려하세요. 특정 OS 버전이 아닌 요구 사항. 이렇게 하면 다양한 기능을 갖춘 여러 Windows 버전에서 코드가 일관되게 작동할 수 있습니다.
위 내용은 여러 플랫폼에서 특정 Windows 10 버전을 어떻게 감지할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!