必须是在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
Loading...下一篇:没有比当前更新的主题
Loading...- 2007-9-14一个设置任意窗口透明度的命令行Delphi程序
- 2007-9-14程序间相互通讯问题的解决
- 2007-9-14BPCS系统现金流量分析工具开发日志
- 2007-9-14如何获取本地HTML文件的标题,超级链接
- 2007-9-14建立自己的csdn知识管理库(1)
- 2007-9-14使用Delphi开发多媒体播放音轨问题的FAQ(原创)
- 2007-9-14监视资源管理器的文件变化
- 2007-9-14实现在virtualStringtree中编辑的标准步骤
- 2007-9-14WINDOWS编程技巧之DELPHI篇
- 2007-9-14DELPHI面向对象支持特点--保护级类成员的应用
Loading...