2010-08-13 1 views
0

я хочу показать диалог сообщения с DWORD, значение, как этоткак я показать значение типа DWORD в функции Messagebox апи

MessageBox (0, (LPCWSTR) hProcess, TEXT ("Моя MessageBox информация"), MB_OK | MB_ICONERROR);

hProcess - это значение DWORD, но при появлении сообщения появляется текстовая часть сообщения, которая должна показывать значение dowrd.

ответ

1
char *s = (char*)malloc(10); 
sprintf(s, "%d", hProcess); 
MessageBox(NULL, s, ...); 
free(s); 
+0

это поднять ниже ошибки. ошибка C2664: 'MessageBoxW': невозможно преобразовать параметр 2 из 'char *' в 'LPCWSTR' – Phoenix

+0

Вы можете просто бросить его, извините. MessageBox (NULL, (LPCWSTR) s, ...); – Jonathan

+0

Нет, вы не можете вводить символ 'char *' в 'wchar_t *' (что и есть 'LPCWSTR'). Вам нужно либо: 1) использовать 'TCHAR' вместо' char' и '_stprintf()' вместо 'sprintf()' или 2) использовать 'MessageBoxA()' вместо 'MessageBox()'. –

1

Сначала преобразуйте значение в строку, а затем отобразите его в окне сообщения.

Взгляните на это: ultoa

6
TCHAR msg[100]; 

StringCbPrintf(msg, 100, TEXT("%d"), hProcess); 

MessageBox(NULL, msg, TEXT("My MessageBox Info"), MB_OK | MB_ICONERROR); 
+0

«DWORD» - это неподписанный тип, поэтому вы должны использовать '% u' вместо'% d'. –

 Смежные вопросы

  • Нет связанных вопросов^_^