кодировка в консоли

Тема в разделе "WASM.BEGINNERS", создана пользователем animaet, 18 ноя 2009.

  1. animaet

    animaet New Member

    Публикаций:
    0
    Регистрация:
    18 ноя 2009
    Сообщения:
    4
    Код (Text):
    1.  .386
    2.  .model flat,stdcall
    3. option casemap:none
    4. include \masm32\include\windows.inc
    5. include \masm32\include\kernel32.inc
    6. includelib kernel32.lib
    7.  
    8. .const
    9.  
    10. .data
    11.  
    12. .data?
    13. hCon HANDLE ?
    14. ci CHAR_INFO <>
    15. outrect SMALL_RECT <>
    16. maxs COORD <>
    17. srcs COORD <>
    18.  
    19. .code
    20.  
    21. WinMain PROC
    22. mov maxs.x,1
    23. mov maxs.y,1
    24. mov srcs.x,0
    25. mov srcs.y,0
    26. mov outrect.Top,0
    27. mov outrect.Left,0;
    28. mov outrect.Right,0;
    29. mov outrect.Bottom,0;
    30. mov ci.Attributes,FOREGROUND_RED
    31. mov ci.Char.AsciiChar,234
    32. invoke GetStdHandle,STD_OUTPUT_HANDLE
    33. mov hCon,eax
    34. invoke WriteConsoleOutput,hCon,offset ci,DWORD PTR [maxs],DWORD PTR [srcs],offset outrect
    35. push 0
    36. call ExitProcess
    37. WinMain ENDP
    38. end WinMain
    в оконном режиме консоли печатает кириллический знак ъ. Как сделать, чтобы вместо ъ был соответствующий знак из cp437, т.е. Ω?
    mode con cp select=437 влияет только на полноэкранный режим.
     
  2. reverser

    reverser New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2004
    Сообщения:
    615
    Попробуй chcp 437. Ну или WriteConsoleOutputW + юникодные шрифты.
     
  3. animaet

    animaet New Member

    Публикаций:
    0
    Регистрация:
    18 ноя 2009
    Сообщения:
    4
    chcp не помогает, шрифт нужен растровый