如何让程序比其它window贴近桌面,也是就是一直在最后面(100分)

  • 主题发起人 主题发起人 goddy
  • 开始时间 开始时间
G

goddy

Unregistered / Unconfirmed
GUEST, unregistred user!
如何让程序比其它window贴近桌面,也是就是一直在其它程序后面
 
设置z-order用setwindowpos,msdn里有详细。
SetWindowPos handle, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
 
procedure TForm1.FormCreate(Sender: TObject);
begin
SetWindowPos(Form1.Handle, HWND_BOTTOM , 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE);
end;
 
这个问题我也曾想问,主要是想在桌面上显示一个钟。
 
SetWindowPos和SetParent 都不行
 
用消息:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
//......
private
{ Private declarations }
procedure StayDown(var m: TWMWINDOWPOSCHANGED);
message WM_WindowPosChanging;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.StayDown(var m: TWMWINDOWPOSCHANGED);
begin
m.WindowPos.hwndInsertAfter:=HWND_BOTTOM;
end;

end.
 
别人都要在最前面。大侠却在最后面[:D]
 
kaida的答案是对的.......

顺便我问个问题......怎么能让一个程序界面运行在最下面,包括桌面图标
也就是说 程序无法覆盖住桌面图标,就像壁纸一样.....但是不能是纯图片,要能加的上操作控件,比如edit或者button
不要说使用活动桌面然后加载个IE....我需要个程序.....
如果有答案我出200分 ......
 
接受答案了.
 
后退
顶部