2010-08-13 2 views
0

내가이

메시지 박스 (0, (LPCWSTR) hProcess, TEXT ("내 메시지 박스 정보"), MB_OK 같은 DWORD 값을 가진 메시지 대화 상자를 표시합니다);

hProcess는 DWORD 값이지만 messagebox가 나타나면 dowrd 값을 표시해야하는 메시지의 본문 부분이 비어 있습니다.

답변

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

. 오류 C2664 : 'MessageBoxW': 'char *'에서 'LPCWSTR'로 매개 변수 2를 변환 할 수 없습니다. – Phoenix

+0

그냥 캐스팅하면됩니다. MessageBox (NULL, (LPCWSTR) s, ...); – Jonathan

+0

아니요,'char *'를'wchar_t *'에 타입 캐스트 할 수 없습니다 (이것은'LPCWSTR'가 무엇인가입니다). 1)'sprintf()'대신'char'와'_stprintf()'대신'TCHAR'을 사용하거나 2)'MessageBox()'대신'MessageBoxA()'를 사용해야합니다. –

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'는 부호없는 타입이므로,'% d' 대신에'% u'를 사용해야합니다. –