草庐IT

EnumWindows

全部标签

c++ - Visual Studio 跳过代码行

我一直在开发一个程序,在该程序中我使用EnumWindows函数来检测事件的Windows并将它们的句柄保存在列表中。现在,每次我运行到目前为止的内容时,调试器都会跳过带有EnumWindows函数的行,而不会返回错误。我的代码有问题吗?或者我是否必须获得额外的库才能访问此功能?希望有人知道如何解决这个问题这是包含EnumWindows的类的代码:Center::Center(intinitInterval):interval(initInterval){detectWindows();}intCenter::getInterval(){returninterval;}voidCent

windows - 在 Win32 C API 中执行 `EnumWindows` 查找窗口时如何避免使用全局变量?

在使用EnumWindows(或FindChildWindows)Win32API时如何避免使用全局变量?我大概有以下代码:HWNDprog_hwnd;BOOLCALLBACKProgEnumProc(HWNDhwnd,LPARAMlParam){if(...){//foundtherighthwnd,assignittoprog_hwnd;prog_hwnd=hwnd;returnFALSE;}returnTRUE;}voidFindProgHwnd(){EnumWindows(ProgEnumProc,0);}intmain(){FindProgHwnd();if(prog_hwn

windows - EnumWindows 返回句柄的顺序有意义吗?

从几个初步测试看来EnumWindows总是以相反的实例化顺序返回窗口,即最近实例化的窗口最先。这是一个有效的观察吗?如果是这样,是否适用于所有版本的Windows?这是一个可靠的假设吗,即该行为是否记录在某处?上下文:我正在处理这样一种情况,我正在触发第三方应用程序打开几个非模态窗口,我需要在这些窗口打开后向它们发送一些窗口消息,但我没有可靠的方法来识别它们,因为它们的窗口类和标题都不会不同,而且我也不知道它们的预期坐标。但是,如果我可以依赖EnumWindows的上述行为,我可以简单地使用EnumWindows返回的第一个句柄,其类和标题符合我的期望。这仍然留下了一些假设的循环漏洞

Go syscall 调用窗口

我目前正在尝试在Go上使用user32.dllEnumWindows,但似乎无法正常工作var(user32=syscall.NewLazyDLL("user32.dll")procEnumWindows=user32.NewProc("EnumWindows"))funcEnumWindows()int{ret,_,_:=procEnumWindows.Call(syscall.NewCallback(enumWindowsProc),uintptr(0),)returnint(ret)}funcenumWindowsProc(hwndsyscall.Handle,lparamuin

Go syscall 调用窗口

我目前正在尝试在Go上使用user32.dllEnumWindows,但似乎无法正常工作var(user32=syscall.NewLazyDLL("user32.dll")procEnumWindows=user32.NewProc("EnumWindows"))funcEnumWindows()int{ret,_,_:=procEnumWindows.Call(syscall.NewCallback(enumWindowsProc),uintptr(0),)returnint(ret)}funcenumWindowsProc(hwndsyscall.Handle,lparamuin

windows - Go/Golang 试图通过系统调用获取窗口信息。 (如 EnumWindows 等)

感谢阅读以及您可能提出的任何意见。上下文:我从事UI/R&D开发(原型(prototype)制作等)已有20多年,并且刚刚开始服务器/后端开发。我是Go的新手-不到2个月-并且1)运行了大部分GoByExample和2)在AmazonEC2实例上设置了一个原始的、可工作的网络服务器。我用另一种语言创建了一个UI,它为另一个第3方应用程序提供HUD(平视显示器)服务-一个生成多个窗口的游戏。(想想在多个窗口中运行的多个扑克table。)我将HUD连接到我创建的Go客户端。由于第一语言的限制,我使用Go来获取操作系统信息。我想继续使用Go,因为我真的很喜欢它。我使用的是Windows7计算

windows - Go/Golang 试图通过系统调用获取窗口信息。 (如 EnumWindows 等)

感谢阅读以及您可能提出的任何意见。上下文:我从事UI/R&D开发(原型(prototype)制作等)已有20多年,并且刚刚开始服务器/后端开发。我是Go的新手-不到2个月-并且1)运行了大部分GoByExample和2)在AmazonEC2实例上设置了一个原始的、可工作的网络服务器。我用另一种语言创建了一个UI,它为另一个第3方应用程序提供HUD(平视显示器)服务-一个生成多个窗口的游戏。(想想在多个窗口中运行的多个扑克table。)我将HUD连接到我创建的Go客户端。由于第一语言的限制,我使用Go来获取操作系统信息。我想继续使用Go,因为我真的很喜欢它。我使用的是Windows7计算

c# - 如何使用 EnumWindows 查找具有特定标题/标题的窗口?

我正在开发一个最终将成为驱动WPF应用程序UI测试的API的应用程序。在我们正在进行的初始测试的某个时刻,我们收到了2个Windows安全弹出窗口。我们有一些循环10次的代码,它使用FindWindowByCaption方法获取其中一个弹出窗口的句柄并输入信息并单击确定。10次中有9次它工作得很好,但是我们偶尔会看到看起来像是竞争条件的情况。我怀疑循环是在只有一个窗口打开时开始的,当它输入信息时,第二个窗口打开并窃取了焦点;在此之后它就会无限期地挂起。我想知道是否有任何方法可以获取给定标题的所有窗口句柄,以便我们可以等到有2个窗口句柄后再开始循环。 最佳答案

c++ - 我可以使用成员函数作为 EnumWindows 的第一个参数吗

这个问题在这里已经有了答案:howtopassanonstatic-memberfunctionasacallback?(8个答案)关闭8年前。我可以使用成员函数作为EnumWindows的第一个参数吗?在这种情况下,即使使用boost::bind,我也没有看到任何解决方法。

c# - Win10中的EnumWindows函数只枚举桌面应用

documentation在EnumWindows下划线:NoteForWindows8andlater,EnumWindowsenumeratesonlytop-levelwindowsofdesktopapps.“桌面应用”和“非桌面应用”有什么区别?这与metro应用有关吗?我问是因为EnumWindows在Win10和Win7中表现有些不同。 最佳答案 另一种解决方案是使用win32u.dll中未记录的api,它具有原型(prototype):NTSTATUSWINAPINtUserBuildHwndList(HDESKin
12