如何在visual c ++中将HWND值打印到MessageBox?
更新
我尝试将句柄ID打印到消息框,但它显示为中文字符。这是我正在处理的代码..
char szBuff[64];
sprintf(szBuff, "%p", m_hWnd);
MessageBox(NULL, LPCWSTR(szBuff), L"Test print handler", MB_OK);
答案 0 :(得分:7)
HWND只是一个指针。
char szBuff[64];
sprintf(szBuff, "%p", hWnd);
MessageBox(NULL, szBuff, "Title", MB_OK);
<强>更新
听起来你遇到了宽窄字符(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;
}