语境:
- 我是一个UI/R & d DEV(成型等)超过20年,刚开始的服务器/后端开发。
- 我对Go非常陌生 - 不到2个月 - 并且1)遍历GoByExample的大部分内容,并且2)在Amazon EC2实例上设置一个原始的正常运行的Web服务器。
- 我创建了另一种语言的用户界面,为另一个第三方应用程序提供HUD(平视显示器) - 这是一款产生多个窗口的游戏。 (想想在多个窗口中运行多个扑克桌。)
- 我将HUD连接到了我创建的Go客户端。
- 由于第一语言的限制,我使用Go来获取操作系统信息。
- 我想继续使用Go,因为我非常喜欢它。
- 我在Windows 7机器上。
目标(S):
windows: [ { windowHwnd:hwnd, windowText:windowText, windowX:x, windowY:y, windowWidth:width, windowHeight:height },
.
.
.
{ windowHwnd:hwnd, windowText:windowText, windowX:x, windowY:y, windowWidth:width, windowHeight:height } ]
步骤我已经采取了:
- 我抓住和修改github.com/AllenDang/w32我认为格式化系统调用Go。
- 当我需要user32.go中的一个不公开的函数时,我添加它。
- 。使用GetForegroundWindow和GetWindowText函数与结果试了,然后GetWindow(HWND,以前的),只是演练一切
- 通读:
- 系统调用/ dll_windows.go
- syscall/env_windows.go
- syscall/exec_windows.go
- syscall/syscall.go
- 系统调用/ syscall_windows.go
- 系统调用/ syscall_windows_386.go
- 系统调用/ syscall_windows_amd86.go
- 系统调用/ syscall_windows_test.go
- 系统调用/ zsyscall_windows_386.go
- 系统调用/ zsyscall_windows_amd86。去
- 系统调用/ ztypes_windows.go
- 系统调用/ ztypes_windows_386.go
- 系统调用/ ztypes_windows_amd86.go
- 在Windows开发人员中心的每一个潜在的窗函数
- 搜索StackExchange,谷歌,DuckDuckGo
- 我可以看到有什么东西(TestEnumWindows)
- 虽然这个功能不会syscall_windows_test.go
问题存在:
- 更好的解决方案吗?在我的无知中,我可以很容易地忽略一些方法,如:GiveGeoffreyExactlyWhatHeWants()
- 我是否在正确的球场?
- 这在Go中可行吗?
- 什么是正确的方向?
- 这是别人需要的东西吗?
2013-10-17 Geoffrey
+0
正想发布另一个链接到https://code.google.com/p/go-wiki/wiki/WindowsDLLs我希望有答案,但亚历克斯可能会指出我在正确的方向! –