firebreath插件创建了一个全屏窗口,但是这个窗口总是在浏览器窗口的下面,当它appers的时候,我怎么能把它带到


CaptureScreenApp app;
int MyPluginAPI::captureScreen(const FB::JSObjectPtr& callback)
{
    boost::thread cs(boost::bind(&CaptureScreenApp ::captureScreen,
        app, callback));
    return 1;
}
class CaptureScreenApp {
public:
    CaptureScreenApp() {
        HRESULT hRes;
        hRes = OleInitialize(NULL);
        ATLASSERT(SUCCEEDED(hRes));
        AtlInitCommonControls(ICC_WIN95_CLASSES);
        g_Module.Init(NULL, NULL);
    };
    ~CaptureScreenApp() {
        g_Module.Term();
        OleUninitialize();
    };
    bool captureScreen() {
        CMessageLoop theLoop;
        CMainDialog g_MainDlg;
        g_Module.AddMessageLoop(&theLoop);
        if (NULL == g_MainDlg.Create(NULL)){
            DWORD ret = GetLastError();
            return FALSE; 
        } 
        g_MainDlg.ShowWindow(SW_SHOW);
        g_MainDlg.UpdateWindow();
        int nRet = theLoop.Run();
        g_Module.RemoveMessageLoop();
        return TRUE;    
    };
};
class CMainDialog : public CDialogImpl<CMainDialog>
{
public:
    enum {IDD = IDD_MAIN};
    ....    
}

窗口(新窗口是一个全屏窗口与桌面图片为背景),我创建在CaptureScreenApp::captureScreen总是在浏览器窗口下,当它出现时(浏览器窗口总是激活),无论我如何设置HWND_TOPMOST的新窗口。这样的:

输入链接描述

当全屏窗口打开时,我怎么把它放在最上面?

SetWindowPos API允许您更改Z顺序(请务必阅读此处的备注)。您使用NULL父窗口创建您的窗口,因此您的窗口完全独立于浏览器窗口,因此没有什么可以将它推到前面:它将是您或交互式用户。

相关内容

  • 没有找到相关文章

最新更新