我使用SetWindowLong
点击我的表单进行叠加。我想创建Buttons和一些可点击的元素但是Form应该仍然是不可见的,因为它是一个叠加层。
我的OnLoad功能:
this.BackColor = Color.Wheat;
this.TransparencyKey = Color.Wheat;
this.TopMost = true;
//this.DoubleBuffered = true;
this.FormBorderStyle = FormBorderStyle.None;
int initialStyle = GetWindowLong(this.Handle, -20);
SetWindowLong(this.Handle, -20, initialStyle | 0x80000 | 0x20);
GetWindowRect(handle, out rect);
this.Size = new Size(rect.right - rect.left, rect.bottom - rect.top);
this.Top = rect.top;
this.Left = rect.left;
其他一些部分:
public struct RECT
{
public int left, top, right, bottom;
}
和
RECT rect;
public const string WINDOW_NAME = "WINDOWNAME_WHATEVER";
IntPtr handle = FindWindow(null, WINDOW_NAME);
我的按钮究竟发生了什么,我怎样才能使用它?