同樣的代碼,在最新的win10中無法使用微軟拼音連續輸入
win10 版本1607,Build:14393 (可以連打)

win10 版本1903,Build:18362 (無法連打)

點擊字母按鍵的代碼:輸入a,那么引數就是65
InputSoftKey(65);
void InputSoftKey(WORD wVk)
{
CEdit* pBtn = (CEdit*)GetDlgItem(IDC_EDIT1);
pBtn->SetFocus();
keybd_event(wVk, MapVirtualKey(0x41, 0), 0, 0);
keybd_event(wVk, MapVirtualKey(0x41, 0), KEYEVENTF_KEYUP, 0);
}
開發工具 VS2017 MFC
是否跟微軟拼音有關?
或者類似在程式內實作軟鍵盤輸入的專案鏈接給我參考一下,謝謝。
uj5u.com熱心網友回復:
void SimKey(char chKey)
{
HKL hKL = GetKeyboardLayout(GetCurrentThreadId());
BYTE bScan = (BYTE)MapVirtualKeyEx(chKey, MAPVK_VK_TO_VSC, hKL);
keybd_event(chKey, bScan, 0, NULL);
keybd_event(chKey, bScan, KEYEVENTF_KEYUP, NULL);
}
void CDlg1Dlg::OnBnClickedButton1()
{
// TODO: 在此添加控制元件通知處理程式代碼
GetDlgItem(IDC_EDIT1)->SetFocus();
SimKey('W');
SimKey('O');
SimKey('D');
SimKey('E');
SimKey('Z');
SimKey('U');
SimKey('G');
SimKey('U');
SimKey('O');
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/37057.html
標籤:界面
下一篇:qt做moxa的頭檔案問題
