【发布时间】:2020-12-28 14:52:46
【问题描述】:
我是 win32 api 的新手,作为我学习的一部分,我想打印出我的鼠标坐标 (LOWORD(lParam), HIWORD(lParam))。我怎么做? OutputDebugString 仅获取 LPCWSTR 值,所以我需要将 int 转换为该值吗?或者有更好的方法吗?
【问题讨论】:
-
Windows with C++ - Using Printf with Modern C++。要点:您的问题与
OutputDebugStringW无关。 -
问题是我在SUBSYSTEM:WINDOWS下看不到printf,那怎么查看printf呢?
-
您可以将 SUBSYSTEM:CONSOLE 与 GUI 应用程序一起使用。我经常在调试模式下为我的 Qt 应用程序执行此操作,但在发布时将其禁用。说到这里,你可能需要我们 int main() 而不是 WinMain,我不记得我在 2 年里没有直接做过 winapi。
-
听起来您不仅是 Windows API 的新手,而且还是 C(和 C++)的新手。因此我的评论。您使用
vsprintf系列函数将printf放入内存缓冲区。 -
@rem 这完全不是理智的 C++ 方式。理智的(-ish)C++ 方式是std::format。