在我的程序中,通过
CComPtr< IShellWindows > spShellWin = NULL;
HRESULT hr = spShellWin.CoCreateInstance( CLSID_ShellWindows );
无法获取到打开的Maxthon窗口,但可以获取到打开的IE窗口,不知道什么原因。
在家里的电脑上都可以获取到,但在公司的电脑上获取不到Maxthon的窗口,这与什么有关系呢?
Maxthon的版本都是2.5.18,操作系统都是Windows7,家里的是64位,公司的是32位,应该与这个没有关系啊?

解决方案 »

  1.   

    要看看打开网页的窗口类名是什么,用SPY++看看是不是Internet Explorer_Server,因为Maxthon也有可能不是用IE的,有可能用webkit,但是2.X版本按理说是用IE内核的,奇怪了
      

  2.   

    是Internet Explorer_Server,
    Class: Internet Explore_Server
    Style: 56000000源代码如下,请帮忙分析一下: long ies;
    ::CoInitialize(NULL);
    CComPtr< IShellWindows > spShellWin = NULL;
    HRESULT hr = spShellWin.CoCreateInstance( CLSID_ShellWindows );
    if(SUCCEEDED(hr))
    {
    spShellWin->get_Count(&ies);
    TRACE("ies=%d \n", ies);
    }谢谢!
      

  3.   

    创建一个对话框,放上webbrowser控件,看看能不能得到了,如果不能可能得遍历下子窗口才行了
      

  4.   

    创建一个对话框,放上webbrowser控件,看看能不能得到了,如果不能可能得遍历下子窗口才行了
    也得不到,我试试遍历子窗口看能否解决
      

  5.   

    已通过遍历资源管理器中的所有句柄解决了,虽然效率比较差。
    谢谢fishion!