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

王朝delphi·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

必须是在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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航