Всё работает (Windows XP Prof. SP1, Delphi4, P-IV 1600),
Правда пришлось немного переписать, чтобы компилятор принял.
Код:
procedure TForm1.FormCreate(Sender: TObject);
type
TLayeredWndAttr = function(hwnd:integer; color:integer; level:integer; mode:integer): Integer; stdcall;
const
LWA_ALPHA = $2;
WS_EX_LAYERED = $80000;
var
LayeredWndAttr: TLayeredWndAttr;
i : integer;
begin
i := 50;
LayeredWndAttr := GetProcAddress(GetModuleHandle('user32.dll'),
'SetLayeredWindowAttributes');
SetWindowLong(Handle, GWL_EXSTYLE, WS_EX_LAYERED);
LayeredWndAttr(HANDLE, RGB(0,0,0), i*255 div 100, LWA_ALPHA);
end;