So you never actually catch a WM_UNICHAR message, only WM_CHAR?

https://msdn.microsoft.com/de-de/library/windows/desktop/ms646288(v=vs.85).aspx

See comment concerning wParam:
Quote:
The Unicode DefWindowProc posts a WM_CHAR message with the same parameters and the ANSI DefWindowProc function posts either one or two WM_CHAR messages with the corresponding ANSI character(s).
Sounds like what is happening to you.

Then you could build your own inkeyw based on custom message handling.

Code:
#include <acknex.h>
#include <windows.h>

LRESULT CALLBACK OriginalHandler(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);

LRESULT CALLBACK MyMessageHandler(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
   if (WM_UNICHAR == message)
   { 
       printf("OMG it's Unicode!");
       return 0;
   }
   return OriginalHandler(hwnd,message,wParam,lParam);   	  
}

function main() 
{
   OriginalHandler = on_message;	// store the original message loop
   on_message = MyMessageHandler; // and replace it by your own
   ...
}


Last edited by Firoball; 04/17/18 22:45.