Как узнать handle системного окна "Запуск программы" ("Выполнить") - C#

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

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

Как узнать handle открытого ранее системного окна "Запуск программы", (открываемого по кнопке "Пуск"->"Выполнить...")? Необходимо программно передавать фокус этому окну. P.S. Это окно я программно открываю командой:
SendMessage(FindWindow("Shell_TrayWnd", NULL), WM_COMMAND, 401, 0);
Если не верно поправьте, пожалуйста.

Решение задачи: «Как узнать handle системного окна "Запуск программы" ("Выполнить")»

textual
Листинг программы
using System.Runtime.InteropServices;
 
 public const int WM_SYSCOMMAND = 0x0112;
 public const int SC_CLOSE = 0xF060;
 
 [DllImport("user32.dll")]
 public static extern int FindWindow(
     string lpClassName, // class name 
     string lpWindowName // window name 
 );
 
 [DllImport("user32.dll")]
 public static extern int SendMessage(
     int hWnd, // handle to destination window 
     uint Msg, // message 
     int wParam, // first message parameter 
     int lParam // second message parameter 
 ); 
 private void button1_Click(object sender, EventArgs e)
        {
            // Determine the handle to the Application window. 
             int iHandle = FindWindow(null, "Калькулятор Плюс");
     
            // Post a message to Application to end its existence. 
            SendMessage(iHandle, WM_SYSCOMMAND,
                SC_CLOSE, 0);
           
        }

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


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

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

6   голосов , оценка 4 из 5
Похожие ответы