.NET 4.x Вызов стороннего приложения из трея - C#
Формулировка задачи:
Добрый вечер.
Много раз попадал на глаза такая тема (или схожая), но вот и сам столкнулся с такой проблемой.
Я знаю имя стороннего процесса и знаю что он в трее, причём скрыт.
Т.е. я могу получить Process по названию, но как заставить из трея это самое приложение открыться ???
пробовал что-то типо
,не помогло.
Ещё интересный вариант попадлся с SendMessage в область контрола самой винды
Но беда в том, что скрытый трей это ещё один hWnd, но по какому имени обратиться не знаю !!!
Вот такая вот беда.
ShowWindow(p[0].MainWindowHandle, 10); ShowWindow(p[0].MainWindowHandle, 5); SetForegroundWindow(p[0].MainWindowHandle);
HWND hWnd = FindWindow("Shell_TrayWnd", NULL); hWnd = FindWindowEx(hWnd, NULL, "TrayNotifyWnd", NULL); hWnd = FindWindowEx(hWnd, NULL, "SysPager", NULL); hWnd = FindWindowEx(hWnd, NULL, "ToolbarWindow32", NULL);
Решение задачи: «.NET 4.x Вызов стороннего приложения из трея»
textual
Листинг программы
[DllImport("user32.dll")] [return: MarshalAs(UnmanagedType.Bool)] static extern bool ShowWindow(IntPtr hWnd, ShowWindowCommands nCmdShow);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д