如何在 visual studio 上过滤调试输出 window?
How to filter debug output window on visual studio?
如何删除或过滤此类消息?
这很烦人,一直显示,我不明白为什么。
我正在使用 visual studio 2019 c++。
看完这行代码后:
MessageBox(g_hWnd, string.data(), L"", MB_OK | MB_ICONSTOP | MB_SETFOREGROUND | MB_APPLMODAL | MB_TOPMOST);
始终显示消息:
windows\dwm\dwmapi\attribute.cpp(105)\dwmapi.dll!00007FFBE41B1940: (caller: 000000018000E820) LogHr(1) tid(83b8) 80070006 Identificador inválido.
但如果我删除 MB_ICONSTOP
并仅使用:
MessageBox(g_hWnd, string.data(), L"", MB_OK | MB_SETFOREGROUND | MB_APPLMODAL | MB_TOPMOST);
不显示
其他我不知道的东西也显示出来了
这是一个 XY Problem, also discussed here 的例子。与其试图阻止消息显示,不如首先阻止它们生成。
从您 link 编辑的 post 来看,这个问题已经存在了几年,并且困扰了很多人。幸运的是,您的第一个 link 似乎有一个解决方法:用户“codeviewer”的 post 列出了一个名为 suppress_dwmapi_output()
的函数,当添加到您的代码中并从 InitInstance()
调用时,显然防止创建这些消息。
免责声明:我自己还没有尝试过。
我添加了 #include <Dwmapi.h>
,现在它不再在调试控制台中发送垃圾邮件了。
https://docs.microsoft.com/en-us/windows/win32/api/dwmapi/nf-dwmapi-dwmgetwindowattribute
我认为错误是因为它没有加载库dwamip.dll
。
如何删除或过滤此类消息?
这很烦人,一直显示,我不明白为什么。 我正在使用 visual studio 2019 c++。
看完这行代码后:
MessageBox(g_hWnd, string.data(), L"", MB_OK | MB_ICONSTOP | MB_SETFOREGROUND | MB_APPLMODAL | MB_TOPMOST);
始终显示消息:
windows\dwm\dwmapi\attribute.cpp(105)\dwmapi.dll!00007FFBE41B1940: (caller: 000000018000E820) LogHr(1) tid(83b8) 80070006 Identificador inválido.
但如果我删除 MB_ICONSTOP
并仅使用:
MessageBox(g_hWnd, string.data(), L"", MB_OK | MB_SETFOREGROUND | MB_APPLMODAL | MB_TOPMOST);
不显示
其他我不知道的东西也显示出来了
这是一个 XY Problem, also discussed here 的例子。与其试图阻止消息显示,不如首先阻止它们生成。
从您 link 编辑的 post 来看,这个问题已经存在了几年,并且困扰了很多人。幸运的是,您的第一个 link 似乎有一个解决方法:用户“codeviewer”的 post 列出了一个名为 suppress_dwmapi_output()
的函数,当添加到您的代码中并从 InitInstance()
调用时,显然防止创建这些消息。
免责声明:我自己还没有尝试过。
我添加了 #include <Dwmapi.h>
,现在它不再在调试控制台中发送垃圾邮件了。
https://docs.microsoft.com/en-us/windows/win32/api/dwmapi/nf-dwmapi-dwmgetwindowattribute
我认为错误是因为它没有加载库dwamip.dll
。