下面这个问题问了两遍了,居然无人可以解决,CSDN真的没有高手了吗???问题:著名DVD播放器WinDVD有这样一个功能:视频桌面,就是把DVD的播放视频窗口作为windows的桌面背景,像WallPaper(但是并不影响桌面图标和用户的操作),用户可以一边工作,一边欣赏DVD。这是个很棒的技术,我想弄清楚是怎样实现的,有哪位大侠能够给点思路?要说明的是,窗口透明或者直接桌面输出都是不行的。

解决方案 »

  1.   

    milky有一个笨笨钟小软件,好像有这个功能,你问问他.
      

  2.   

    http://dev.csdn.net/develop/article/16/16510.shtm
      

  3.   

    桌面背景图从播放软件抓屏试验:通过抓屏按钮复制播放界面,抓到photoshop里面,就是这种效果
      

  4.   

    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;
      

  5.   

    在播放器上的鼠标操作都获得鼠标的X、Y,然后用API函数,模拟鼠标在播放器背后的操作
      

  6.   

    只能给思路,我API不行,不能给代码了,上面的代码自己试试吧
      

  7.   

    呵,,这是DirectShow里面的功能吧,我记得DSPACK控件,就支持这个功能。
    这个控件的demo中,就有这个功能
      

  8.   

    procedure TForm1.FormCreate(Sender: TObject);
    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;
    我试了可以的
      

  9.   

    谢谢各位提出很多思路,特别是getit911兄,不过目前好像都不能完整解决这个问题。我个人认为,利用Windows的活动桌面(ActiveDesktop)可能是最终的方案,我也正在寻找控制方法,希望大家共同努力。
      

  10.   

    借地方用一下请高手们帮我看看:
    http://community.csdn.net/Expert/topic/3139/3139367.xml?temp=.8874323http://community.csdn.net/Expert/topic/3130/3130655.xml?temp=.1832697