golang获取服务器信息,Go/Golang 试图通过系统调用获取窗口信息。

博主作为UI/R&D开发者,初涉Go语言,正在尝试用Go获取Windows操作系统的窗口信息,特别是那些窗口标题以'Game'开头的主窗口。目标是实现当用户移动窗口时,与之连接的HUD能随之移动。目前,博主已经使用github.com/AllenDang/w32库并尝试了多种系统调用,但还未找到理想的解决方案。寻求关于在Go中获取窗口信息的更好方法和建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

语境:我从事 UI/R&D 开发(原型设计等)已有 20 多年,刚刚开始服务器/后端开发。

我对 Go 非常陌生 - 不到 2 个月 - 并且 1) 运行了大部分 GoByExample 和 2) 在 Amazon EC2 实例上设置了一个原始的、工作的 Web 服务器。

我用另一种语言创建了一个 UI,它为另一个 3rd 方应用程序提供了一个 HUD(平视显示器)——一个产生多个窗口的游戏。(想想在多个窗口中运行的多个扑克桌。)

我将 HUD 连接到我创建的 Go 客户端。

由于第一语言的限制,我使用 Go 来获取操作系统信息。

我想继续使用 Go,因为我真的很喜欢它。

我在 Windows 7 机器上。

目标:大图:当用户移动窗口时,我希望 HUD 随之移动。

为此,我需要有关 WindowText 以“Game”开头的主窗口的信息。

理想的情况是这样的:

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, previous ) 只是演练一切

通读:系统调用/dll_windows.go

系统调用/env_windows.go

系统调用/exec_windows.go

系统调用/syscall.go

系统调用/系统调用_windows.go

系统调用/系统调用_windows_386.go

系统调用/系统调用_windows_amd86.go

系统调用/系统调用_windows_test.go

系统调用/zsyscall_windows_386.go

系统调用/zsyscall_windows_amd86.go

系统调用/ztypes_windows.go

系统调用/ztypes_windows_386.go

系统调用/ztypes_windows_amd86.go

Windows 开发中心的每个潜在窗口函数

搜索 StackExchange、谷歌、DuckDuckGo

我可以看到有一些东西(TestEnumWindows)虽然这个函数在 syscall_windows_test.go 中不存在

问题:更好的解决方案?由于我的无知,我很容易忽略一些方法,例如: GiveGeoffreyExactlyWhatHeWants()

我在正确的球场吗?

这在 Go 中可行吗?

正确的方向是什么?

这是其他人需要的东西吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值