在Windows CE上使IE处于前台

时间:2018-10-02 08:26:57

标签: activex windows-ce

我们有一个在自定义Windows CE 5设备(供应商不再维护)上运行的自助服务终端应用程序。

我们在设备上的Internet Explorer中运行一个Web应用程序。该应用程序使用自定义ActiveX控件进行某些操作(例如在USB连接的打印机上打印PCL字符串)。

我们现在不得不使用其他打印机型号。新的打印机可以工作,但是会弹出一个令人讨厌的弹出窗口,每次连接或打开打印机电源时,屏幕中间都会出现一个未知的USB设备。您无需在弹出窗口中输入任何内容,打印机即可工作。

当打印机和设备一起启动时,这没问题,因为IE稍后启动并覆盖弹出窗口。

但是稍后再启动打印机时,这是一个问题。客户对弹出窗口感到困惑(而不是仅仅触摸UI的另一部分以将其置于后台)。

我的问题(Unknown USB device on Windows CE)关于如何在不成功的情况下使弹出窗口静音(不,我不想编写Windows CE打印机驱动程序只是为了删除消息框。

所以我想我们可能每隔几秒钟就将IE置于前台,并编写了一个小的ActiveX函数,该函数从Web应用程序中的计时器调用。

STDMETHODIMP CEFTLink::makeForegroundWindow(void)
{
    HWND windowHandle;
    windowHandle=GetActiveWindow();
    SetForegroundWindow(windowHandle);
    return S_OK;
}

来电者:

function StayForeground() { 
    window.setTimeout(StayForeground, 20000);
    eft.makeForegroundWindow();     
    };

但是此代码无法达到目标。 为什么?

0 个答案:

没有答案