模拟键盘的shift和ctrl键一块按下。keybd_event(VK_CONTROL, 0x1d, 0, 0);
keybd_event(VK_SHIFT, 0x2a, 0, 0);
keybd_event(VK_CONTROL,0x1d, KEYEVENTF_KEYUP, 0);
keybd_event(VK_SHIFT, 0x2a, KEYEVENTF_KEYUP, 0);
keybd_event(VK_SHIFT, 0x2a, 0, 0);
keybd_event(VK_CONTROL,0x1d, KEYEVENTF_KEYUP, 0);
keybd_event(VK_SHIFT, 0x2a, KEYEVENTF_KEYUP, 0);
bool load_ime( char* ime_name )
{
UINT cnt;
HKL FAR *lpKL;
char szImeName[13];
HKL hKLReturn = 0;
cnt = GetKeyboardLayoutList(0, NULL);
if (!cnt) {
/* error. */
}
lpKL = (HKL FAR *)LocalAlloc(LPTR, sizeof(HKL) * cnt);
if (!lpKL) {
/* not enough memory. */
}
cnt = GetKeyboardLayoutList(cnt, lpKL);
if (!cnt) {
/* error. */
}
while (0 < cnt) {
cnt--;
if (ImmGetIMEFileName(*(lpKL + cnt),
szImeName, sizeof(szImeName))
&& !lstrcmpi(ime_name, szImeName))
{
hKLReturn = *(lpKL + cnt);
break;
}
// ImmGetIMEFileName(*(lpKL + cnt),
// szImeName, sizeof(szImeName));
// OutputDebugString( szImeName );
}
LocalFree(lpKL);
if( hKLReturn != 0 )
{
ActivateKeyboardLayout( hKLReturn, 0 );
return true;
}
else
return false;
}
void CTestcursorDlg::OnButton1()
{
load_ime( "unispim.ime" ); // 紫光
// load_ime( "PINTLGNT.IME" ); // 微软拼音
}