Я использую C # WinForms для создания наложения. Наложение должно быть того же размера, что и (или больше) текущего экрана. Тем не менее, он не должен включать функцию «помощи при фокусировке».
Я пытался использовать FormWindowState.Maximized и P / Invoke MoveWindow, но как только форма становится такого же размера (или больше) экранаРазмер, тогда помощь при фокусировке включена.
Это код, который у меня есть на данный момент:
Конструктор оверлейной формы
this.DoubleBuffered = true;
this.SetStyle(ControlStyles.OptimizedDoubleBuffer |
ControlStyles.DoubleBuffer |
ControlStyles.UserPaint |
ControlStyles.AllPaintingInWmPaint |
ControlStyles.SupportsTransparentBackColor, true);
SetWindowLong(this.Handle, GWL_EXSTYLE, (IntPtr)(GetWindowLong(this.Handle, GWL_EXSTYLE) | WS_EX_LAYERED | WS_EX_TRANSPARENT | WS_EX_NOACTIVATE));
SetLayeredWindowAttributes(this.Handle, 0, 128, LWA_ALPHA);
this.TopMost = true;
this.WindowState = FormWindowState.Maximized;
MoveWindow
Screen screen = Screen.FromPoint(Cursor.Position);
MoveWindow(this.Handle, screen.Bounds.X, screen.Bounds.Y, screen.Bounds.Width, screen.Bounds.Height, true);
Если есть какой-либо способ отключить эту функцию, я еще не нашел ее. Любые идеи будут оценены.