tempad
ReadyGo!技术成就梦想 >>Delphi教程 >> 一个设置任意窗口透明度的命令行Delphi程序

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

ReadyGo!技术成就梦想 网络搜索 efish 2008-2-24 2:49:03

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

责任编辑: efish 参与评论 查找更多:
相关文章
获得Windows的版本信息 获得Windows的版本信息
Delphi与DirectShow&amp;DSPack/在Delphi7.0下安… Delphi与DirectShow&amp;DSPack/在Delphi7.0下安装DSPack
Delphi&amp;BCB一线程序员开发经验 Delphi&amp;BCB一线程序员开发经验
Delphi的RSS开源项目正式启动了 Delphi的RSS开源项目正式启动了
通过字符串,类的引用,创建窗体 通过字符串,类的引用,创建窗体
CRC32生成码表方法实现 CRC32生成码表方法实现
Delphi7中存储unicode的BUG Delphi7中存储unicode的BUG
ORLAND.DATA.ORACLE不匹配错误 ORLAND.DATA.ORACLE不匹配错误
Delphi中ScriptControl的高级应用(二) Delphi中ScriptControl的高级应用(二)
2秒记住本站域名

玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的ReadyGo.com.cn

分类导航
ReadyGo!技术成就梦想