怎样才能让程序的窗口呆在当前windows所有界面的最后面?
怎样才能让程序的窗口呆在当前windows所有界面的最后面?
我用Timer控件并且用main-> FormStyle=fsStayOnTop;让我的程序呆在了屏幕的最前面,那么我希望过几秒钟之后他就会自动呆在所有当前windows已经所有打开窗口的最后面,然后如此循环下去,请问该怎么做
[解决办法]
void __fastcall TForm1::FormPaint(TObject *Sender)
{
/*
this-> Handle当前窗口
Application-> Handle :当前程序
HWND_BOTTOM:在所有程序的最下面层
HWND_TOPMOST:所有程序的最上面层
*/
//SetWindowPos(Handle,HWND_BOTTOM,Left,Top,Width,Height,SWP_FRAMECHANGED);
SetWindowPos(Application-> Handle,HWND_TOPMOST,Left,Top,Width,Height,0);
}
[解决办法]
1.桌面嵌入
HWND h=FindWindow( "Progman ",0);
if(h)
{
Edit1-> Text =(int)h; //显示桌面层最外层
h=GetWindow(h,GW_CHILD);
Edit2-> Text =(int)h; //显示桌面中间层
h=GetWindow(h,GW_CHILD);
Edit3-> Text =(int)h; //显示桌面最里层
}
//设置当前窗口为:桌面最外层
if(Edit1-> Text != " ")
{
HWND h=(HWND)(Edit1-> Text.ToInt());
this-> ParentWindow =h;
BringWindowToTop(Handle); //无这句不点桌面图标,它会以最小化显示
}