2016-11-07 39 views
0

我寫在Internet Explorer 8加載OCX控件它曾經使用PostMessage的功能Alt +(向下箭頭鍵)消息發送到IE8網頁C++ PostMessage的到Internet Explorer

::PostMessage(hWnd_IE,WM_SYSKEYDOWN,VK_MENU,0); 
::PostMessage(hWnd_IE,WM_KEYDOWN,VK_DOWN, 0); 
::PostMessage(hWnd_IE,WM_KEYUP,VK_DOWN, 0); 
::PostMessage(hWnd_IE,WM_KEYUP,VK_MENU,0); 

hWnd_IE被發現:

hwnd1 = m_hWnd; 
while(1) 
{ 
    hwnd0 = ::GetParent(hwnd1); 
    ::GetClassName(hwnd0, (LPTSTR)&buf, 100); 
    if (_tcscmp(buf, _T("Internet Explorer_Server")) == 0) 
    { 
     hwnd0 = ::GetParent(hwnd0); 
     return hwnd0; 
    } 

    hwnd1 = hwnd0; 
    if(hwnd0 == NULL) 
     break; 
} 

我認爲它可以工作。然而,html網頁只有單鍵效果(向下箭頭鍵),而不是多鍵效果(alt +向下箭頭鍵)。我不知道爲什麼。

回答

0

我自己解決了這個問題,改用sendinput函數。 .postmessage,sendmessage,keybd_event都不起作用。