在 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 内部版本号的主要内容,如果未能解决你的问题,请参考以下文章

Haskell 尾递归内部函数

执行n stable命令在Windows系统中更新node版本报错“‘bash‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。“

Haskell的Persistent sometmes返回500内部服务器错误

如何用 Haskell 编写 Windows 服务应用程序?

Haskell导出当前模块带有额外的导入模块

GHCup安装haskell开发环境