Internet explorer keybd#u事件不';postmessage不能在activex中工作,但可以';t模拟VK_返回

Internet explorer keybd#u事件不';postmessage不能在activex中工作,但可以';t模拟VK_返回,internet-explorer,plugins,activex,Internet Explorer,Plugins,Activex,我正在开发一个与javascript交互的浏览器插件。我使用开源框架firebreath开发插件,该插件将NPAPI(非ie浏览器)插件和activex(用于ie)打包在一个dll文件中 以下代码在使用NPAPI插件的非ie浏览器下运行良好(“enter”、“delete”、“backspace”键可以正确按下): 但是如果我在ie中运行插件,则不会发生任何事情。我也尝试了发送输入,但仍然不会发生任何事情: KEYBDINPUT kb={0}; INPUT Input={0};

我正在开发一个与javascript交互的浏览器插件。我使用开源框架firebreath开发插件,该插件将NPAPI(非ie浏览器)插件和activex(用于ie)打包在一个dll文件中

以下代码在使用NPAPI插件的非ie浏览器下运行良好(“enter”、“delete”、“backspace”键可以正确按下):

但是如果我在ie中运行插件,则不会发生任何事情。我也尝试了发送输入,但仍然不会发生任何事情:

    KEYBDINPUT kb={0}; 
    INPUT Input={0};  
    kb.wScan = VK_BACK; 
    kb.dwFlags = KEYEVENTF_UNICODE;  
    Input.type = INPUT_KEYBOARD; 
    Input.ki = kb;      
    ::SendInput(1,&Input,sizeof(Input));
奇怪的是,键的组合在ie中正确工作。例如(ctrl+x):

因此,我将keybd_事件更改为PostMessage:

    ::PostMessage(hbrowser,WM_KEYDOWN,vKey,1); //vKey stands for key pressed    
    ::PostMessage(hbrowser,WM_KEYUP,vKey,1);

VK_选项卡”、“VK_删除”、“VK_返回”、“VK_选项卡”、“VK_空间”起作用,但“VK_返回”不起作用。

有谁能帮我一下忙吗。这件事困扰了我两天,请帮帮我。这已经困扰了我两天了
>   keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL,0), 0 ,0);
>   keybd_event(bCharKey,(BYTE)0, 0 ,0);    
>   Sleep(10);
>   keybd_event(bCharKey,(BYTE)0, KEYEVENTF_KEYUP,0);
>   keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL,0),
>   KEYEVENTF_KEYUP,0);
    ::PostMessage(hbrowser,WM_KEYDOWN,vKey,1); //vKey stands for key pressed    
    ::PostMessage(hbrowser,WM_KEYUP,vKey,1);