Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Открытие свернутой программы

-

Вопросы и ответы, обсуждения

- Ваши вопросы по C# только в данном разделе

Ответ
 
Опции темы
Старый 04.07.2012, 20:25   #1
 Пехотинец
Аватар для XRASER
 
XRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краях
Регистрация: 27.11.2010
Сообщений: 84
Популярность: -1831
Сказал(а) спасибо: 249
Поблагодарили 57 раз(а) в 27 сообщениях
Отправить сообщение для XRASER с помощью ICQ Отправить сообщение для XRASER с помощью Skype™
 
Question Открытие свернутой программы

У меня запущена программа, которая сейчас находится в свернутом состоянии, как можно ее развернуть при помощи c#?

И повторю еще раз: Развернуть свернутое окно, а не запустить процесс\программу.
________________
[Ссылки могут видеть только зарегистрированные пользователи. ] - сообщество серверов MineCraft.
RPG, Survival, Hi-Tech сервера. 24\7. Без лагов.
  Ответить с цитированием
Старый 04.07.2012, 20:55   #2
Заблокирован
 Капитан
Аватар для TeedI
 
TeedI троюродный дядя Чака НоррисаTeedI троюродный дядя Чака НоррисаTeedI троюродный дядя Чака НоррисаTeedI троюродный дядя Чака НоррисаTeedI троюродный дядя Чака НоррисаTeedI троюродный дядя Чака НоррисаTeedI троюродный дядя Чака НоррисаTeedI троюродный дядя Чака НоррисаTeedI троюродный дядя Чака НоррисаTeedI троюродный дядя Чака НоррисаTeedI троюродный дядя Чака Норриса
Регистрация: 11.08.2010
Сообщений: 254
Популярность: 9232
Сказал(а) спасибо: 300
Поблагодарили 334 раз(а) в 223 сообщениях
Отправить сообщение для TeedI с помощью ICQ
 
По умолчанию Re: Открытие свернутой программы

Я не силен в дотнете.
Но на С++ примерно так
Код:
#include <windows.h>

int main (void) 
{
	HWND hwnd;
	hwnd = FindWindowA(NULL, "Zhyk.ru Forums - Opera");
	ShowWindow(hwnd, SW_SHOW);
}
На c# вроде бы так
Код:
[DllImport("user32.dll")]
        static extern IntPtr FindWindowA(bool ClassName , string WindowName);

        [DllImport("user32.dll")]
        static extern bool ShowWindow(IntPtr hWnd, int Command);
        private const int SW_SHOW = 5;

        public static void Show()
        {
             IntPtr hWnd = FindWindowA(false, "Zhyk.ru Forums - Opera");
             ShowWindow(hWnd, SW_SHOW);
        }
  Ответить с цитированием
Старый 04.07.2012, 21:09   #3
 Пехотинец
Аватар для XRASER
 
XRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краях
Регистрация: 27.11.2010
Сообщений: 84
Популярность: -1831
Сказал(а) спасибо: 249
Поблагодарили 57 раз(а) в 27 сообщениях
Отправить сообщение для XRASER с помощью ICQ Отправить сообщение для XRASER с помощью Skype™
 
Exclamation Re: Открытие свернутой программы

Цитата:
Сообщение от TeedIПосмотреть сообщение
Я не силен в дотнете.
Но на С++ примерно так
Код:
#include <windows.h>

int main (void) 
{
	HWND hwnd;
	hwnd = FindWindowA(NULL, "Zhyk.ru Forums - Opera");
	ShowWindow(hwnd, SW_SHOW);
}
На c# вроде бы так
Код:
[DllImport("user32.dll")]
        static extern IntPtr FindWindowA(bool ClassName , string WindowName);

        [DllImport("user32.dll")]
        static extern bool ShowWindow(IntPtr hWnd, int Command);
        private const int SW_SHOW = 5;

        public static void Show()
        {
             IntPtr hWnd = FindWindowA(false, "Zhyk.ru Forums - Opera");
             ShowWindow(hWnd, SW_SHOW);
        }

увы не сработало...
прописал весь код и добавил
Код:
Show();
на нажатие кнопки.
________________
[Ссылки могут видеть только зарегистрированные пользователи. ] - сообщество серверов MineCraft.
RPG, Survival, Hi-Tech сервера. 24\7. Без лагов.

Последний раз редактировалось XRASER; 04.07.2012 в 21:11.
  Ответить с цитированием
Старый 05.07.2012, 03:10   #4
 Сержант
Аватар для Yukikaze
 
Yukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядом
Регистрация: 01.10.2011
Сообщений: 128
Популярность: 5723
Сказал(а) спасибо: 25
Поблагодарили 174 раз(а) в 105 сообщениях
 
По умолчанию Re: Открытие свернутой программы

По имени процесса
Код:
        private bool RestoreWindow(string processName)
        {
            bool result = false;
            Process[] proc = Process.GetProcessesByName(processName);
            if (proc.Length > 0)
                result = ShowWindow(proc[0].MainWindowHandle, 9);

            return result;
        }
По дескриптору окна
Код:
        private bool RestoreWindow(IntPtr hWnd)
        {
            bool result = ShowWindow(hWnd, 9);
            return result;
        }
По заголовку окна, можно вводить не полное название окна, без учета регистра
Код:
        private bool RestoreWindowByName(string wnd)
        {
            bool result = false;
            Process proc = Process.GetProcesses().First(p => p.MainWindowTitle.ToLower().Contains(wnd));
            if (proc != null)
                result = ShowWindow(proc.MainWindowHandle, 9);

            return result;
        }
________________
Talk is cheap. Show me the code
— Linus Torvalds

Последний раз редактировалось Yukikaze; 05.07.2012 в 03:14.
  Ответить с цитированием
Пользователь сказал cпасибо:
XRASER (05.07.2012)
Старый 05.07.2012, 10:28   #5
 Пехотинец
Аватар для XRASER
 
XRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краях
Регистрация: 27.11.2010
Сообщений: 84
Популярность: -1831
Сказал(а) спасибо: 249
Поблагодарили 57 раз(а) в 27 сообщениях
Отправить сообщение для XRASER с помощью ICQ Отправить сообщение для XRASER с помощью Skype™
 
По умолчанию Re: Открытие свернутой программы

Цитата:
Сообщение от YukikazeПосмотреть сообщение
По имени процесса
Код:
        private bool RestoreWindow(string processName)
        {
            bool result = false;
            Process[] proc = Process.GetProcessesByName(processName);
            if (proc.Length > 0)
                result = ShowWindow(proc[0].MainWindowHandle, 9);

            return result;
        }
По дескриптору окна
Код:
        private bool RestoreWindow(IntPtr hWnd)
        {
            bool result = ShowWindow(hWnd, 9);
            return result;
        }
По заголовку окна, можно вводить не полное название окна, без учета регистра
Код:
        private bool RestoreWindowByName(string wnd)
        {
            bool result = false;
            Process proc = Process.GetProcesses().First(p => p.MainWindowTitle.ToLower().Contains(wnd));
            if (proc != null)
                result = ShowWindow(proc.MainWindowHandle, 9);

            return result;
        }

можно на примерах? с окном жука например или с процессом firefox.exe?
________________
[Ссылки могут видеть только зарегистрированные пользователи. ] - сообщество серверов MineCraft.
RPG, Survival, Hi-Tech сервера. 24\7. Без лагов.
  Ответить с цитированием
Старый 05.07.2012, 17:18   #6
 Сержант
Аватар для Yukikaze
 
Yukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядом
Регистрация: 01.10.2011
Сообщений: 128
Популярность: 5723
Сказал(а) спасибо: 25
Поблагодарили 174 раз(а) в 105 сообщениях
 
По умолчанию Re: Открытие свернутой программы

RestoreWindowByName("Zhyk.ru");
RestoreWindow("firefox");
________________
Talk is cheap. Show me the code
— Linus Torvalds
  Ответить с цитированием
Пользователь сказал cпасибо:
XRASER (05.07.2012)
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открытие чужой программы при нажатии на кнопку (((FrOcSimO))) С/С++ 3 03.05.2011 20:19

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 00:06.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net