如何用api把其他窗口设为半透明应该用到GetActiveWindows吗?

解决方案 »

  1.   

    如果是D6,在Form里有alphablend属性和它下面的属性(数值)
    设置后就搞定楼主需要的效果了!
      

  2.   


    SetWindowLong(handle, GWL_EXSTYLE, GetWindowLong(handle, GWL_EXSTYLE) or 
    WS_EX_LAYERED);//把新的样式赋给窗体
    SetLayeredWindowAttributes(handle, 0, 192, LWA_ALPHA);
    //把窗体设置成半透明样式,第二个参数表示透明程度
    //取值范围0--255,为0时就是一个全透明的窗体了
      

  3.   

    如果是自己程序当然比较容易了,我是要把其他程序设为半透明,就是不设自己的程序那种效果阿
    Form1.AlphaBlend:=True;
    Form1.AlphaBlendValue:=100;
      

  4.   

    function SetLayeredWindowAttributes(hwnd:HWND;crKey:integer;bAlpha:byte;dwFlags:integer):integer;stdcall;external user32;
      

  5.   

    你只用将handle改为别的程序的窗口句柄
      

  6.   

    GetActiveWindows如果把这句话加在前面,后面还要加什么参数呢
    SetWindowLong(handle, GWL_EXSTYLE,)//加入其他事件就可以把当前的其他窗体捕获吗,如果不可以上面的语句就有必要加入吗
    GetWindowLong(handle, GWL_EXSTYLE) or (handle, WS_EX_LAYERED);//把新的样式赋给窗体
    SetLayeredWindowAttributes(handle, 0, 192, LWA_ALPHA);
    //把窗体设置成半透明样式,第二个参数表示透明程度
    //取值范围0--255,为0时就是一个全透明的窗体了
      

  7.   

    function SetLayeredWindowAttributes(hwnd:HWND;crKey:integer;bAlpha:byte;dwFlags:integer):integer;stdcall;external user32;加入什么事件过程都可以吗?
      

  8.   

    你只用将handle改为别的程序的窗口句柄,是要首先捕获在最前面的窗口才可以吧
    GetActiveWindows如果把这句话加在前面,后面还要加什么参数呢
      

  9.   

    学习强烈同意 
    Eastunfail(恶鱼杀手)
      

  10.   

    function SetLayeredWindowAttributes(hwnd:HWND;crKey:integer;bAlpha:byte;dwFlags:integer):integer;stdcall;external user32;
    GetActiveWindows(0)
    SetWindowLong(handle, GWL_EXSTYLE,)//加入其他事件就可以把当前的其他窗体捕获吗,如果不可以上面的语句就有必要加入吗
    GetWindowLong(handle, GWL_EXSTYLE); 把新的样式赋给窗体
    SetLayeredWindowAttributes(handle, 0, 192, LWA_ALPHA);
    我按以上次序加入我的过程,结果无法运行,还需要声明什么呢?
    (handle, WS_EX_LAYERED);//