Распечатать HWND в окне сообщения - PullRequest
2 голосов
/ 11 июля 2010

Как напечатать значение HWND в MessageBox в Visual C ++?

Обновление:

Я попытался напечатать идентификатор дескриптора в окне сообщения, но вместо этого он отображается с китайскими символами.Вот код, над которым я работаю ..

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

1 Ответ

7 голосов
/ 11 июля 2010

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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...