在 Haskell 中获取 Windows 内部版本号

Posted

技术标签:

【中文标题】在 Haskell 中获取 Windows 内部版本号【英文标题】:Get windows build number in Haskell 【发布时间】:2019-07-31 07:52:15 【问题描述】:

如何?我想我可以使用readProcessver,但也许还有更清晰的方法。

【问题讨论】:

【参考方案1】:

Win32 package 似乎允许在 IO monad 中访问内部版本号。未经测试。

import System.Win32.Info.Version -- from Win32 package

main :: IO ()
main = do
   osVersionInfo <- getVersionEx
   print (dwBuildNumber osVersionInfo)

【讨论】:

这么简单的任务是不是有点矫枉过正? @MalyutinEgor 矫枉过正?为什么你这么想?再简单不过了:导入单个库并使用一个库函数来查询操作系统信息。此外,它也比生成外部进程调用ver 并解析输出更有效。【参考方案2】:

WinAPI 中是否有返回 Windows 内部版本号的本机 C 函数?

如果是,您可以使用 ForeignFunctionInterface 扩展从 Haskell 轻松调用它。

【讨论】:

以上是关于在 Haskell 中获取 Windows 内部版本号的主要内容,如果未能解决你的问题,请参考以下文章