【发布时间】:2016-03-26 03:57:53
【问题描述】:
我目前正在尝试在 Go 上使用 user32.dll EnumWindows,但似乎无法正常工作
var(
user32 = syscall.NewLazyDLL("user32.dll")
procEnumWindows = user32.NewProc("EnumWindows")
)
func EnumWindows() int {
ret, _, _ := procEnumWindows.Call(
syscall.NewCallback(enumWindowsProc),
uintptr(0),
)
return int(ret)
}
func enumWindowsProc(hwnd syscall.Handle, lparam uintptr) bool {
return true
}
调用 EnumWindows 会报如下错误:
panic: compileCallback: output parameter size is wrong
我不确定我应该如何使用 syscall 包...我似乎找不到足够的文档
在 MSDN 文档页面上,它说回调应该返回一个 BOOL,这就是我在做什么?
【问题讨论】:
标签: go system-calls