0
通過代碼我從另一個進程對話框組合框項目選擇與單一的SendMessage
這裏選擇comboxbox項目是試圖
// selecting using item text
void setComboBox(HWND hDlg, const char* value, int ctrlId) {
SendDlgItemMessageA(hDlg, ctrlId, CB_SELECTSTRING, -1, (LPARAM) value);
SendMessageA(hDlg, WM_COMMAND, MAKEWPARAM(ctrlId,CBN_SELCHANGE),
(LPARAM) GetDlgItem(hDlg, ctrlId));
}
// selecting using item index
void setComboBox(HWND hDlg, int i, int ctrlId) {
SendDlgItemMessageA(hDlg, ctrlId, CB_SETCURSEL, i, 0);
SendMessageA(hDlg, WM_COMMAND, MAKEWPARAM(ctrlId,CBN_SELCHANGE),
(LPARAM) GetDlgItem(hDlg, ctrlId));
}
所以,我看到的是在這兩種方法中的2路線我需要發送第二個消息(WM_COMMAND),這會增加延遲。 有沒有什麼方法可以選擇並使用單個消息通知兩者?
自動化將爲您處理 –
感謝大衛,我現在考慮使用UIA,順便說一句,我的當前2 sendmessage和uia之間的延遲如何比較,任何想法。 –
這是你的性能瓶頸? –