| 導購 | 订阅 | 在线投稿
分享
 
 
 

一個設置任意窗口透明度的命令行Delphi程序

2008-05-31 00:48:12  編輯來源:互聯網  简体版  手機版  移動版  評論  字體: ||

必須是在Windows2000以下的系統才支持SetLayeredWindowAttributes這個API,原理就是先找到窗口句柄,然後設置窗口屬性

program opacity;

{$APPTYPE CONSOLE}

uses

SysUtils,

Windows;

var

handle,AStyle:integer;

begin

try

if ParamCount<2 then

begin

Writeln('parameter must');

exit;

end;

handle:=findwindow(nil,pchar(ParamStr(1)));//目前是找窗口的Text,也可以是找ClassName

AStyle := GetWindowLong(Handle, GWL_EXSTYLE);

SetWindowLong(Handle, GWL_EXSTYLE, AStyle or WS_EX_LAYERED);

if SetLayeredWindowAttributes(Handle, 0, strtoint(ParamStr(2)),LWA_ALPHA) then

Writeln(ParamStr(1)+' update successed to '+ParamStr(2))

else

Writeln('Opacity update failed');

except

Writeln('parameter error');

end;

end.

http://blog.csdn.net/redbirdli/archive/2007/02/15/1510602.aspx

必須是在Windows2000以下的系統才支持SetLayeredWindowAttributes這個API,原理就是先找到窗口句柄,然後設置窗口屬性 program opacity; {$APPTYPE CONSOLE} uses SysUtils, Windows; var handle,AStyle:integer; begin try if ParamCount<2 then begin Writeln('parameter must'); exit; end; handle:=findwindow(nil,pchar(ParamStr(1)));//目前是找窗口的Text,也可以是找ClassName AStyle := GetWindowLong(Handle, GWL_EXSTYLE); SetWindowLong(Handle, GWL_EXSTYLE, AStyle or WS_EX_LAYERED); if SetLayeredWindowAttributes(Handle, 0, strtoint(ParamStr(2)),LWA_ALPHA) then Writeln(ParamStr(1)+' update successed to '+ParamStr(2)) else Writeln('Opacity update failed'); except Writeln('parameter error'); end; end. http://blog.csdn.net/redbirdli/archive/2007/02/15/1510602.aspx
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
王朝網路微信公眾號
微信掃碼關註本站公眾號 wangchaonetcn
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有