nim语言获取windows用户名

先安装winim

nimble install winim
import winim/lean
const UNLEN = 256
proc getCurrentUserName(): string =
  var
    buffer: array[UNLEN + 1, char]  # 用户名缓冲区(UNLEN=256)
    bufferSize: DWORD = UNLEN + 1    # 缓冲区大小
  
  # 调用 WinAPI 获取用户名
  if GetUserNameA(addr buffer[0], addr bufferSize) != 0:
    #result = $buffer) # 转换为 Nim 字符串
    result = newString(cast[int](bufferSize-1))
    copyMem(addr result[0],addr buffer[0],cast[int](bufferSize-1))
  else:
    raise newException(OSError, "获取用户名失败: " & $GetLastError())

#echo "请输入软件/游戏名称: "
#var name = stdin.readLine()
#echo "请输入软件/游戏引擎名称,如果未知请直接回车:"
# 引擎或者软件厂商的名字
#var engine_or_factory = stdin.readLine()
var user_name = getCurrentUserName()

 

nimble install winim
posted on 2025-08-12 18:22  小沙盒工作室  阅读(4)  评论(0)    收藏  举报