【问题标题】:How do I view information about a HWND within visual studio while debugging?调试时如何在 Visual Studio 中查看有关 HWND 的信息?
【发布时间】:2012-03-29 09:04:30
【问题描述】:

在调试/单步执行 Visual Studio 时,是否有任何众所周知的工具或插件可用于获取有关 HWND 的属性?我知道我可以将 Spy++ 用于这些事情,但是这样做很麻烦,同时还要单步调试器。我想做的是将 HWND 放入 Watch 子窗口并查看以下内容:

  • 客户端矩形
  • 矩形窗口
  • 样式/扩展样式
  • 人类可读形式的窗口类
  • 窗口的名称 (::SetWindowText)

这对我来说似乎是非常基本的东西,对任何人都有用。有这样的插件吗?我可以通过使用 Autoexp.dat 玩游戏来做到这一点吗?

【问题讨论】:

  • 不,这需要运行代码。您可以编写这样的代码并查看它们返回的值。但这在调试会话中并不是特别有用。 Spy++ 就是为此而生的。
  • 当您说“您可以编写这样的代码”时,您的意思是添加返回信息、将它们链接到我的应用程序并在调试器中调用它们的小型实用函数吗?
  • 你可以 write an add-in 这样做,但老实说 Spy++ 是最好的方法。
  • 我知道 Spy++ 可以做到这一点,而且我知道人们可以编写插件。我的具体问题是:是否有插件可以做到这一点?
  • 在监视窗口中可以在hwnd的变量后面添加类型:stackoverflow.com/questions/218056/…

标签: visual-studio debugging winapi hwnd


【解决方案1】:

我不知道您是否可以在 Visual Studio 中执行此操作,但 windbg 有一个扩展名 (userexts) 可以显示很多关于 HWND 的信息。

!userexts.dw -v hwnd

将转储您询问的所有内容以及更多内容。

显然你可以根据this blog article集成Visual Studio和Windbg;您可以附加到进程并使用即时窗口来执行 windbg 扩展。

【讨论】:

    猜你喜欢
    • 2013-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-11
    • 2013-01-10
    • 1970-01-01
    • 2019-01-24
    • 1970-01-01
    相关资源
    最近更新 更多