void Sendstr(CString str)   
    {   
        DWORD sc,shift;   
        unsigned char vkey;   
        char a;   
        for(int i=0;i<str.GetLength();i++)   
        {   
            a=str.GetAt(i);   
            sc=OemKeyScan(a);   
            shift=sc>>16;   
            vkey=MapVirtualKey(sc&0xffff,1);   
            if (shift)   
                keybd_event(VK_SHIFT,0,0,0);   
            keybd_event(vkey,0,0,0);   
            keybd_event(vkey,0,KEYEVENTF_KEYUP,0);   
            if(shift)   
                keybd_event(VK_SHIFT,0,KEYEVENTF_KEYUP,0);   
        }   
    }
我测试这段代码只能输入英文,无法输入中文。帮忙改下可以发中文的,谢谢