關於office右鍵問題 |
|
conundrum
尊榮會員 發表:893 回覆:1272 積分:643 註冊:2004-01-06 發送簡訊給我 |
關於office右鍵問題 http://www.zahui.com/html/1/3841.htm 在觸摸屏中碰到這樣一個問題,我發送類比右鍵消息,在別的程式,比如vc, acdsee中都沒有問題,但是在word,powerpoint中就會沒有相應,原來代碼這樣, if(LEFT==m_MouseBtn) m_input.mi.dwFlags=MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_LEFTDOWN; if(RIGHT==m_MouseBtn) m_input.mi.dwFlags=MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_RIGHTDOWN; m_input.mi.dx=((resultPt.x<<16) m_sizeScreen.cx-1)/m_sizeScreen.cx; m_input.mi.dy=((resultPt.y<<16) m_sizeScreen.cy-1)/m_sizeScreen.cy; m_input.mi.dwExtraInfo=GetMessageExtraInfo(); SendInput(1,&m_input,sizeof(INPUT)); ,, if(LEFT==m_MouseBtn) m_input.mi.dwFlags=MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_LEFTUP; //|MOUSEEVENTF_VIRTUALDESK if(RIGHT==m_MouseBtn){ m_input.mi.dwFlags=MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_RIGHTUP; //|MOUSEEVENTF_VIRTUALDESK m_MouseBtn=LEFT; } m_input.mi.dx=((resultPt.x<<16) m_sizeScreen.cx-1)/m_sizeScreen.cx; m_input.mi.dy=((resultPt.y<<16) m_sizeScreen.cy-1)/m_sizeScreen.cy; m_input.mi.dwExtraInfo=GetMessageExtraInfo(); SendInput(1,&m_input,sizeof(INPUT)); 這叫我很疑惑,不應該是觸摸屏右鍵消息沒有發送,別的程式的確收到了, 查了一下msdn,沒找到相關的,就試著把消息多發送了一次,就是改成, if(LEFT==m_MouseBtn) m_input.mi.dwFlags=MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_LEFTDOWN; if(RIGHT==m_MouseBtn) m_input.mi.dwFlags=MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_RIGHTDOWN; m_input.mi.dx=((resultPt.x<<16) m_sizeScreen.cx-1)/m_sizeScreen.cx; m_input.mi.dy=((resultPt.y<<16) m_sizeScreen.cy-1)/m_sizeScreen.cy; m_input.mi.dwExtraInfo=GetMessageExtraInfo(); SendInput(1,&m_input,sizeof(INPUT)); if (m_input.mi.dwFlags &MOUSEEVENTF_RIGHTDOWN) SendInput(1,&m_input,sizeof(INPUT)); ,多了最後兩行,up也是這樣,這樣,在觸摸屏中測試office就沒有問題了, 雖然解決了問題,不過總覺得心虛,有疑問, 1,office需要接收兩次右鍵消息才有相應? 2,如果是,是需要兩次down,up,還是只需要兩次up就可以了,? 碰到熟悉這方面知識的人,可以給個解釋最好了, |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |