當我們正在爲Windows 8和Windows 8.1商店應用程序構建時,是否存在預定義,我們需要檢測哪些已選定,以便我們可以禁用某些功能。Windows 8.1
我問這是因爲我們將Windows 8.1應用程序移植到Windows 8.在Windows 8中,某些功能不可用,所以我們需要重寫它們並實現其他功能。 (兩個項目,相同的代碼)
當我們正在爲Windows 8和Windows 8.1商店應用程序構建時,是否存在預定義,我們需要檢測哪些已選定,以便我們可以禁用某些功能。Windows 8.1
我問這是因爲我們將Windows 8.1應用程序移植到Windows 8.在Windows 8中,某些功能不可用,所以我們需要重寫它們並實現其他功能。 (兩個項目,相同的代碼)
看看NTDDI_VERSION
宏。
#if NTDDI_VERSION == 0x06030000 // NTDDI_WINBLUE
/* Windows 8.1 */
#elif NTDDI_VERSION == 0x06020000 // NTDDI_WIN8
/* Windows 8 */
#endif
確保你已經包括SdkDdkVer.h
,但我相信大多數的Windows項目已經這樣做,默認情況下。
哈,我完全忘記了Win版本:) –
對於傳統的Windows應用程序,這是通常在源代碼中設置的東西。當您構建現代UI應用程序時,Visual Studio是否爲您設置?你如何告訴Visual Studio你的目標系統? –
即將提供答案,但必須運行如此....用[MSDN]開始您的旅程(http://msdn.microsoft.com/en-us/library/windows/desktop/aa383745(v = vs.85).aspx)頁面。 –
你真的想要取決於你使用哪個操作系統編譯程序嗎?通常你會希望它取決於你運行程序的位置,或者如果你不能在運行時進行檢測,你希望有兩種不同的版本。 –
@HarryJohnston我有兩個版本,但共享源代碼。我需要檢測哪些功能可用,具體取決於我爲哪個操作系統構建。 –