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);
}
}
我测试这段代码只能输入英文,无法输入中文。帮忙改下可以发中文的,谢谢
{
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);
}
}
我测试这段代码只能输入英文,无法输入中文。帮忙改下可以发中文的,谢谢
WideCharToMultiByte(CP_ACP,WC_SEPCHARS|WC_COMPOSITECHECK,(LPWSTR)str,-1,NULL,0,NULL,NULL);WideCharToMultiByte(CP_ACP,WC_SEPCHARS|WC_COMPOSITECHECK,(LPWSTR)str,-1,m_data,z,NULL,NULL);