将HWND打印到消息框

bar*_*yee 2 visual-c++

如何在visual c ++中将HWND值打印到MessageBox?

更新:

我尝试将句柄ID打印到消息框,但它显示为中文字符.这是我正在处理的代码..

        char szBuff[64];
        sprintf(szBuff, "%p", m_hWnd);
        MessageBox(NULL, LPCWSTR(szBuff), L"Test print handler", MB_OK);
Run Code Online (Sandbox Code Playgroud)

Mic*_*l J 7

HWND只是一个指针.

char szBuff[64];
sprintf(szBuff, "%p", hWnd);
MessageBox(NULL, szBuff, "Title", MB_OK);
Run Code Online (Sandbox Code Playgroud)

更新
听起来您在使用宽字符和窄字符(ASCII和UTF-16)时遇到了问题.请尝试以下方法:

#include <Windows.h>
#include <cstdio>

int _tmain(int argc, TCHAR* argv[])
{
    HWND hWnd=::GetConsoleWindow();

    TCHAR szBuff[64];
    _stprintf(szBuff, _T("%p"), hWnd);
    MessageBox(NULL, szBuff, _T("Title"), MB_OK);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)