方法一: 使用IOleInPlaceObjectWindowless 方法二: 使窗口透明(但不是隐藏)

解决方案 »

  1.   

    用AutoHotkey吧,这玩意太强大了,只有想不到,没有做不到http://www.autohotkey.com/download/这是几篇教程http://blog.sina.com.cn/s/blog_46dac66f010005g7.htmlhttp://blog.sina.com.cn/s/blog_46dac66f010005cf.html
      

  2.   

    这个问题也研究过一、发送鼠标消息,但是不是所有情况都适合
    发往IE浏览器中的Class为"Internet Explorer_Server”的窗口,有些网页内的鼠标处理脚本程序不会处理,只有mouse_event比较通用二、通过虚拟桌面,将IE窗口移到其他桌面,需要多显卡。
    我的笔记本是双输出的,所以最后用的就是这个方法。三、没有试过,可能可以
    通过Window Station and Desktop Functions建立多个桌面,让你的程序运行在其他桌面
    例如,Windows的远程桌面可以允许一台电脑登录多个用户
      

  3.   

    #define LWA_ALPHA 0x2 
    #define WS_EX_LAYERED 0x80000 
    typedef BOOL (WINAPI *lpfnSetLayeredWindowAttributes)(HWND hWnd, COLORREF crKey, BYTE bAlpha, DWORD dwFlags); 
    lpfnSetLayeredWindowAttributes SetLayeredWindowAttributes; 
    HMODULE hUser32 = GetModuleHandle("user32.dll"); 
    SetLayeredWindowAttributes = (lpfnSetLayeredWindowAttributes)GetProcAddress(hUser32,"SetLayeredWindowAttributes");
    // Set WS_EX_LAYERED on this window 
    SetWindowLong(hwnd, GWL_EXSTYLE,GetWindowLong(hwnd, GWL_EXSTYLE) | WS_EX_LAYERED);
    // Make this window 1% alpha
    SetLayeredWindowAttributes(hwnd, 0, (255 * 1) / 100, LWA_ALPHA);
    FreeLibrary(hUser32);  
    我这样试了下,可以,透明度99%,如果100%的话就不行了
    但还是存在问题,不同显示器不同分辨率,怎么准确的的获得链接位置,IE启动标题栏与地址栏是否存在也影响;链接在页面的相对位置
      

  4.   

    还有因为是后台,所以窗口要隐藏,这也无法做到;如果点击的链接弹出新窗口,这个窗口的HWND怎么得到?