著名DVD播放器WinDVD有这样一个功能:视频桌面,就是把DVD的播放视频窗口作为windows的桌面背景(并不影响桌面图标和用户的操作),用户可以一遍工作,一遍欣赏DVD。这是个很棒的技术,我想弄清楚是怎样实现的,有哪位大侠能够给点思路?

解决方案 »

  1.   

    To:xbxsoft
    能说的具体点吗?最好能解释一下要用到那些关键API
      

  2.   

    这个答案花了我1000分:
    procedure TForm1.CreateWnd;
    begin
      inherited CreateWnd;
      SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or
        WS_EX_LTRREADING or
        WS_EX_TRANSPARENT or
        WS_EX_TOPMOST or
        WS_EX_TOOLWINDOW or
        WS_EX_LAYERED);
      SetLayeredWindowAttributes(Handle, Color, 100, LWA_ALPHA or LWA_COLORKEY);
    end;
    关键就在于WS_EX_TRANSPARENT 风格,只在2000以后有效,98不行的。
      

  3.   

    对不起,楼上的不行,那只是窗体透明的一种方法,俺说的功能不只这样。俺要求的是把窗体显示完全体现在桌面上,就像WallPaper,而且窗体的动画也能即时显示,又不影响用户的操作,效果可以参考WinDVDD的视频桌面功能。应用ActiveDesktop是可能的,可是我还没有找到控制ActiveDesktop的方法。