Непонятки с user32.dll - C#

Узнай цену своей работы

Формулировка задачи:

Листинг программы
  1. using System.Runtime.InteropServices;
  2. [DllImport("user32.dll", SetLastError = true)]
  3. public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
  4. [DllImport("user32.dll", SetLastError = true)]
  5. static extern bool BringWindowToTop(IntPtr hWnd);
  6. static void Main(string[] args)
  7. {
  8. IntPtr w = FindWindow(null, "Калькулятор");
  9. BringWindowToTop(w);
  10. }
Окно калькулятора открыто. IntPtr w != 0. Окно калькулятора не становится активным.
Листинг программы
  1. SetForegroundWindow(w); //заработало
и ещё это добавить сверху:
Листинг программы
  1. [DllImport("user32.dll", SetLastError = true)]
  2. static extern bool SetForegroundWindow(IntPtr hWnd);

Решение задачи: «Непонятки с user32.dll»

textual
Листинг программы
  1. static IntPtr HWND_TOP = new IntPtr(0);
  2. const UInt32 SWP_NOMOVE = 0x0002;
  3. const UInt32 SWP_NOSIZE = 0x0001;
  4.  
  5. [DllImport("user32.dll")]
  6. static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags);
  7.  
  8. static void BringWindowToFront(IntPtr hWnd)
  9.         {
  10.             SetWindowPos(hWnd, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
  11.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.571 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут