【发布时间】:2011-03-29 08:24:46
【问题描述】:
我想显示一个带有像这样的 dword 值的消息对话框
MessageBox(0, (LPCWSTR) hProcess ,TEXT("我的消息框信息"),MB_OK | MB_ICONERROR);
hProcess 是一个 DWORD 值,但是当出现消息框时,应该显示 dowrd 值的消息正文部分为空。
【问题讨论】:
标签: c++ messagebox dword
我想显示一个带有像这样的 dword 值的消息对话框
MessageBox(0, (LPCWSTR) hProcess ,TEXT("我的消息框信息"),MB_OK | MB_ICONERROR);
hProcess 是一个 DWORD 值,但是当出现消息框时,应该显示 dowrd 值的消息正文部分为空。
【问题讨论】:
标签: c++ messagebox dword
TCHAR msg[100];
StringCbPrintf(msg, 100, TEXT("%d"), hProcess);
MessageBox(NULL, msg, TEXT("My MessageBox Info"), MB_OK | MB_ICONERROR);
【讨论】:
DWORD 是无符号类型,因此您应该使用 %u 而不是 %d。
char *s = (char*)malloc(10);
sprintf(s, "%d", hProcess);
MessageBox(NULL, s, ...);
free(s);
【讨论】:
char* 类型转换为wchar_t*(LPCWSTR 就是这样)。您需要 1) 使用 TCHAR 而不是 char 和 _stprintf() 而不是 sprintf(),或 2) 使用 MessageBoxA() 而不是 MessageBox()。
先将值转换为字符串,然后在消息框中显示。
看看这个:ultoa
【讨论】: