HWND hwnd = GetForegroundWindow();
HDC hdc = GetDC(hwnd);
char ch[20];
memset(ch,0,20);
printf_s(ch,"x = %d, y = %d", x, y);
TextOutW(hdc,0,0,ch,20);
ReleaseDC(hwnd,hdc);
编译报错
error C2664: 'TextOutW' : cannot convert parameter 4 from 'char [20]' to 'LPCWSTR'
改成wchar类型,编译也报错,printf那里通不过.
error C2664: 'printf_s' : cannot convert parameter 1 from 'WCHAR [20]' to 'const char *'

解决方案 »

  1.   

    已解决 HWND hwnd = GetForegroundWindow();
    HDC hdc = GetDC(hwnd);
    wchar_t ch[20];
    memset(ch,0,20);
    wsprintf(ch,L"x = %d, y = %d",x,y);

    TextOutW(hdc,0,0,ch,wcslen(ch));
    ReleaseDC(hwnd,hdc);
      

  2.   

    memset(ch,0,20);
    这行有问题,没有初始化完,除非你想不初始化完,但看不出来有何用意,还不如不初始化。
      

  3.   

    _T()宏
    根据多字节和Unicode码制自动选择
      

  4.   

    我总结的unicode和ascii之间转换的方法:
    http://blog.csdn.net/zhoujielunzhimi/article/details/8082286