RT,设置一个外部的EXE程序,把它的主界面变成无边框风格的窗体,求WINDOWS消息,句柄已获取.

解决方案 »

  1.   

    用GetWindowLong取得窗体的风格,调整之后用SetWindowLong设回去。是WS_BORDER还是WS_THICKFRAME跟边框有关,你试一下吧,记不清楚了。
      

  2.   

    var
      DestHandle: THandle;
      Style: integer;
      CltRect : TRect;
      NewRgn: HRGN;
    begin
      DestHandle := //你说可以取到Handle的。:-)
      Style := GetWindowLong(DestHandle, GWL_STYLE);
      Style := Style and not(WS_CAPTION or WS_THICKFRAME or WS_MINIMIZEBOX or WS_MAXIMIZEBOX or WS_SYSMENU);
      SetWindowLong(DestHandle, GWL_STYLE, Style);
      Windows.GetClientRect(DestHandle, CltRect);
      NewRgn := CreateRectRgn(CltRect.Left, CltRect.Top, CltRect.Right, CltRect.Bottom);
      SetWindowRgn(DestHandle, NewRgn, true);
    end;
      

  3.   

    var
      vHandle: THandle;
    begin
      vHandle := FindWindow('Notepad', nil);
      SetWindowLong(vHandle, GWL_STYLE,
        GetWindowLong(vHandle, GWL_STYLE) and
        not (WS_CAPTION or WS_THICKFRAME))
    end;//为什么受伤的总是记事本!
      

  4.   

    果然高手一出手就知道有没有啊~~~~~~~~~~~~~
    揭贴ing ~~~~~~~~~~~~~~~~