2016-08-14 2 views
0

C#/UWP iot-core 앱에서 현재 OS 버전 (예 : OS 버전 : 10.0.14393.0)을 얻는 방법을 찾고 있습니다. 포인터? 웹을 검색하면 혼란 스러울 정도의 해킹이 발생합니다.C#에서 설치된 OS 버전 번호를 얻는 방법

iot-core의 버전 번호는 매우 중요합니다. "이 지점은 최신 Windows IoTCore 릴리스 (현재 1607, 버전 번호 10.0.14393.x)를 지원합니다."및 Windows 10 UWP 장치는 자동 OS 업데이트를 수행합니다. 그렇다면 런타임에 장치 (iot-core/UWP)에서이 정보를 얻으려면 어떻게해야합니까?

참고 : "Environment.OSVersion.Version은"그래서 이것은 당신의 설명에 따르면 How to get OS version number?

+0

나는 이것을 검증 할 방법이 없지만 [네이티브'GetVersionEx' 함수] (https://msdn.microsoft.com/en-us/library/windows/desktop/ms724834() v = vs.85) .aspx)를 통해 P/Invoke. UWP에서 가능한지 여부를 확인하는 빠른 Google 검색을 통해 [다른 기능을 예로 들었지만 정확히 어떻게하는지 설명하는 페이지] (https://mtaulty.com/2016/01/11)로 안내했습니다./windows-10-uwp-and-pinvoke-getnativesysteminfo /)를 사용하십시오. – cynic

+0

[따르기] (http://stackoverflow.com/questions/31783604/windows-10-get-devicefamilyversion) – tao

+0

감사합니다. 이 (http://stackoverflow.com/a/31895625/1480500) 및 (http://stackoverflow.com/q/36462824/1480500)는 원하는 결과를 제공하는 것으로 보이지만 분석 API이므로 Microsoft 정말 우리가 이것을 알 필요가 없다고 결정했습니다 (따라서, 아래에 표시된 답변)!? – GGleGrand

답변

2

을 게시 중복되지 분명히 사용할 수 없습니다, 나는 당신이 실제로 필요로하는 ApiInformation class 생각합니다. 이 클래스를 사용하면 지정된 멤버, 유형 또는 API 계약이 있는지 여부를 감지하여 다양한 장치에서 API 호출을 안전하게 수행 할 수 있습니다. 따라서 현재 OS 버전을 구할 필요가 없으므로 장치에서 지원되는 것이 있는지 확인할 수 있습니다. 여기서 중요한 점은 OS 또는 장치가 아닌 기능을 검색하는 것입니다..

적응 형 앱의 기본 개념은 앱이 필요한 기능 (또는 기능)을 확인하고 사용 가능한 경우에만 사용한다는 것입니다. 이렇게하는 전통적인 방법은 OS 버전을 확인한 다음 해당 API를 사용하는 것입니다. Windows 10에서는 클래스, 메서드, 속성, 이벤트 또는 API 계약이 현재 운영 체제에서 지원되는지 여부를 런타임에 확인할 수 있습니다. 그렇다면 앱이 적절한 API를 호출 할 수 있습니다.

더 많은 정보 Dynamically detecting features with API contracts (10 by 10) 또한이 질문에, Target code for a specific version of Windows 10, like Build 10586를 참조하십시오.

+0

더 친근하고 어쩌면 최선의 접근법입니다. 그러나, 나는 표준 플랫폼에서 테스트 한 것들을위한 OS 버전이 필요하고 많은 iot-core 디바이스들에 대한 "over air update"가 필요하다. 장치가 적절한 기준에 도달했는지 확인해야합니다. 그렇지 않으면, 내 응용 프로그램은 다른 것보다 AI 응용 프로그램이 더 많아야합니다. – GGleGrand