谁了解过把程序界面放在桌面,就像以前的超级解霸一个在播放的电影为桌面背景,就像现在的开屏软件

解决方案 »

  1.   

    你使用什么组件进行播放很早前玩过一下,根据下面内容做的,使用TMediaPlay
    http://www.itus.cn/programe/design/3/Delphi-11816.shtml另外,据说DSPACK组件可以轻松实现,你可以去试试
      

  2.   

    设置Windows的父窗口句柄为0, 则会贴在桌面上
      

  3.   

    procedure TFrmCorner.FormActivate(Sender: TObject);
    var
      WidgetParentHandle: THandle;
    begin
      SetWindowPos(Self.Handle, HWND_DESKTOP, Screen.Width - 150 - self.Width,
        Screen.Height - Self.Height div 35, 222, 245, SWP_NOSIZE or SWP_SHOWWINDOW);  if Windows.IsWindow(self.Handle) then begin
        WidgetParentHandle := GetFirstDesktopHandle;
        Windows.SetParent(self.Handle, WidgetParentHandle);
      end;
    end;
    Self.Handle窗口本身的句柄。
    1、首先设置窗口的位置,SetWindowPos
    2、然后将窗口的父窗体设置成为桌面。
    3、然后你点击切换桌面的按钮,试一下就知道了!
      

  4.   

    谢谢回复,GetFirstDesktopHandle返回的是桌面的句柄吗?
      

  5.   


    为什么窗体的高度要设置为Screen.Height - Self.Height div 35 ,这里为什么要div 35
    我运行后没有看到窗体,[显示桌面]的按钮我点了后也没有看到,如果我把窗体的x,y设置为0就可以看到窗体,显示在所有窗体之后