小编enu*_*ami的帖子

Golang:如何在没有cgo的情况下调用win32 API?

我试图调用GetUserNameExsecur32.dll这样的:

dll, err := syscall.LoadDLL("secur32.dll")
if err != nil {
    log.Fatal(err)
}
defer dll.Release()

GetUserNameEx, err := dll.FindProc("GetUserNameExW")
if err != nil {
    log.Fatal(err)
}
arr := make([]uint8, 256)
var size uint
GetUserNameEx.Call(3, uintptr(unsafe.Pointer(&arr[0])), uintptr(unsafe.Pointer(&size)))
fmt.Println(arr)
fmt.Println(size)
Run Code Online (Sandbox Code Playgroud)

这段代码编译得很好,但GetUserNameEx.Call()会失败.我不知道为什么我不能得到UserName.谁能帮助我?

windows dll winapi go

6
推荐指数
1
解决办法
3023
查看次数

标签 统计

dll ×1

go ×1

winapi ×1

windows ×1