Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从注册表读取Windows OS版本是否安全?_Windows_Winapi - Fatal编程技术网

从注册表读取Windows OS版本是否安全?

从注册表读取Windows OS版本是否安全?,windows,winapi,Windows,Winapi,据介绍,GetVersionEx(获取当前windows版本的实际方式)从windows 8.1开始就已被弃用。显然,如果在Windows 8.1或10计算机上调用,它会返回错误的值(对应于Windows 8)。但是,如果相应地修改了应用程序的清单,则可以使其正确返回。但我不确定这是否是一个好的解决方案,因为 对于Windows 8.1之后的版本,GetVersionEx可能会被更改或不可用 我只是想从这个注册表项中读取我需要的信息:HKEY\U LOCAL\U MACHINE\SOFTWARE

据介绍,GetVersionEx(获取当前windows版本的实际方式)从windows 8.1开始就已被弃用。显然,如果在Windows 8.1或10计算机上调用,它会返回错误的值(对应于Windows 8)。但是,如果相应地修改了应用程序的清单,则可以使其正确返回。但我不确定这是否是一个好的解决方案,因为

对于Windows 8.1之后的版本,GetVersionEx可能会被更改或不可用

我只是想从这个注册表项中读取我需要的信息:HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion

考虑到目前的情况(API不受欢迎),我有什么理由避免这样做吗

有什么理由我应该避免这样做吗


未来版本的Windows可能不会包含该注册表项中所需的信息。

此注册表项的可能重复项不是重复项。在这个问题上,需要一个获得操作系统的解决方案。我在问从注册表中获取这些信息是否安全。在另一个问题中,我看不到任何关于注册表的内容。“显然,如果在Windows 8.1或10计算机上调用它,它会返回错误的值(对应于Windows 8)”——仅当您的应用程序不包含这些版本的兼容性清单时。请仔细阅读文档<代码>GetVersionEx()现在可以识别清单。如果您的应用程序没有明确声明支持Windows 8.1或10,则
GetVersionEx()
将不再报告它们。但是如果你的应用程序声称支持它们,
GetVersionEx()
将按预期为它们报告正确的信息。我知道这一点。但是,文档中明确指出“GetVersionEx可能会被修改或不适用于Windows 8.1之后的版本”。如果它在某个时候不再存在,那么修改清单将毫无意义,不是吗?