程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 一個設置任意窗口透明度的命令行Delphi程序

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

編輯:Delphi

  必須是在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.
  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved