Index: base/applications/charmap/charmap.c =================================================================== --- base/applications/charmap/charmap.c (revision 69602) +++ base/applications/charmap/charmap.c (working copy) @@ -22,6 +22,10 @@ HICON hBgIcon; SETTINGS Settings; +/* GetUName prototype */ +typedef int (WINAPI * GETUNAME)(WORD wCharCode, LPWSTR lpbuf); +GETUNAME GetUName; + /* Font-enumeration callback */ static int @@ -253,6 +257,20 @@ } } + +extern VOID UpdateStatusBar(WCHAR wch) +{ + if (GetUName) + { + WCHAR buff[MAX_PATH]; + WCHAR szDesc[MAX_PATH]; + GetUName(wch, szDesc); + + wsprintfW(buff, L"U+%04X: %s", wch, szDesc); + SendMessageW(hStatusWnd, SB_SETTEXT, 0, (LPARAM)buff); + } +} + static void ChangeView(HWND hWnd) @@ -556,6 +574,7 @@ INT Ret = 1; HMODULE hRichEd20; MSG Msg; + HINSTANCE hGetUName = NULL; hInstance = hInst; @@ -563,6 +582,17 @@ iccx.dwICC = ICC_TAB_CLASSES; InitCommonControlsEx(&iccx); + /* Loading the GetUName function */ + hGetUName = LoadLibraryW(L"getuname.dll"); + if (hGetUName != NULL) + { + GetUName = (GETUNAME) GetProcAddress(hGetUName, "GetUName"); + if (GetUName == NULL) + { + FreeLibrary(hGetUName); + } + } + if (RegisterMapClasses(hInstance)) { hRichEd20 = LoadLibraryW(L"RICHED20.DLL"); Index: base/applications/charmap/lrgcell.c =================================================================== --- base/applications/charmap/lrgcell.c (revision 69602) +++ base/applications/charmap/lrgcell.c (working copy) @@ -140,6 +140,8 @@ EndPaint(hwnd, &ps); + UpdateStatusBar(infoPtr->pActiveCell->ch); + break; } Index: base/applications/charmap/precomp.h =================================================================== --- base/applications/charmap/precomp.h (revision 69602) +++ base/applications/charmap/precomp.h (working copy) @@ -67,6 +67,7 @@ /* charmap.c */ extern VOID ChangeMapFont(HWND hDlg); +extern VOID UpdateStatusBar(WCHAR wch); /* settings.c */ extern void LoadSettings(void);