Как узнать 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);
}