簡體   English   中英

使用 function IsWin2000() 會產生 C++ 警告:C4996 - 已棄用 Function

[英]Use of the function IsWin2000() produces a C++ warning: C4996 - Deprecated Function

因此,當我使用 function、IsWin2000() 來確定運行我的應用程序的計算機是否正在運行 windows 2000 時,我收到警告:

warning C4996: 'IsWin2000': This function is exported to support existing modules and is obsolete.

如果這是一個過時的、已棄用的 function,那么查詢正在運行的操作系統的正確方法是什么? 有沒有其他方法可以完成這項任務,或者我唯一的選擇是簡單地抑制警告? 謝謝!

GetVersionEx

有關結果列表以及如何解釋它們,請參閱OSVERSIONINFO的備注。 有關完整示例,請參閱獲取系統版本

並且不要忘記規范所說的內容:

識別當前操作系統通常不是確定是否存在特定操作系統功能的最佳方式。 這是因為操作系統可能在可再發行的 DLL 中添加了新功能。 不要使用 GetVersionEx 來確定操作系統平台或版本號,而是測試功能本身是否存在

這不是標准的 Windows API function。 也許如果你提到你從哪里得到它,我們可以提供更多信息。

正確的方法取決於您要完成的工作。 創建調試日志或錯誤報告,您應該調用GetVersionEx

對於任何其他目的,您應該測試您嘗試使用的實際功能,通常使用GetProcAddress ,而不是硬編碼版本測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM