如何给桌面加上一曾阴影?(50分)

  • 主题发起人 主题发起人 风之彼端
  • 开始时间 开始时间

风之彼端

Unregistered / Unconfirmed
GUEST, unregistred user!
加个保护屏!
[:)]
 
好主意,不知道论坛里面有没有做保护屏代理的
批发几十个卖给客户:)
 
關注,
同時提議你去找找有關加鎖程式
 
呵呵, 这还不简单? 运行下面的代码就可以了: [:D][:D][:D]

unit Unit1;

interface

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

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

function SetLayeredWindowAttributes(Handle: THandle; crey, bAlpha: Byte; dwFlags: Integer): LongInt; stdcall;

implementation

{$R *.dfm}
const
WS_EX_LAYERED = $80000;
WS_EX_TRANSPARENT = $20;
LWA_ALPHA = $2;

{$EXTERNALSYM SetLayeredWindowAttributes}
function SetLayeredWindowAttributes; external user32 name 'SetLayeredWindowAttributes';


procedure TForm1.FormCreate(Sender: TObject);
var
bTrans: Byte;
OldStyle: Integer;
begin
WindowState := wsMaximized;
BorderStyle := bsNone;
FormStyle := fsStayOnTop;
OldStyle := GetWindowLong(Handle, GWL_EXSTYLE);
SetWindowLong(Handle, GWL_EXSTYLE, OldStyle or WS_EX_LAYERED Or WS_EX_TRANSPARENT);
bTrans := 128;
SetLayeredWindowAttributes(Handle, 0, bTrans, LWA_ALPHA);
end;

end.
 
阴影的颜色就是Form的Color
调整bTrans即透明度也会有不同的效果。
你再把ALT+F4屏蔽掉,应该可以骗一下人了吧[:)]
 
接受答案了.
 
后退
顶部