Как нарисовать рамку вокруг стороннего окна, используя c #? - PullRequest
0 голосов
/ 18 января 2011

Как нарисовать прямоугольник вокруг стороннего окна?У меня есть ручка для этого окна и размер окна.Я рисую прямоугольник вокруг окна, но он не прикрепляется к окну, когда я открываю какое-то другое приложение, такой же прямоугольник появляется в верхней части этого приложения.Как сохранить его в фоновом режиме или прикрепить к моему окну

Код, который я сейчас использую

IntPtr desktop = GetDC(IntPtr.Zero);
while (true)
{
  using (Graphics g = Graphics.FromHdc(desktop))
  {
    RECT rct = new RECT();
    GetWindowRect(wnd.hWnd, ref rct);
    Rectangle rect = new Rectangle(rct.Left - 2, rct.Top - 2, (rct.Right - rct.Left) + 2, (rct.Bottom - rct.Top) + 2);
    Pen myPen = new Pen(System.Drawing.Color.Red, 5);
    g.DrawRectangle(myPen, rect);
    g.Dispose();
  }
}

Спасибо

1 Ответ

0 голосов
/ 18 января 2011

Дескриптор главного окна процесса не поможет вам всегда, так как некоторые приложения, такие как Yahoo Messenger, отображают вторичное окно.Возможно, вы хотите выделить активное окно.Вы можете получить дескриптор активного окна, когда у вас есть его, получить область, которую он покрывает, вы можете показать свое наложение в этом месте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...