Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 10.06.2015
Сообщений: 86
1

Как открыть другую программу на форме?

04.06.2016, 16:15. Показов 3563. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите пожалуйста как открыть программу которая не относиться к С#? Есть форма, нужно чтобы в этой форме открывалась программа, например на Panel или через MenuStrip?

Добавлено через 37 минут
Хоть кто нибудь подскажите как это сделать?

Добавлено через 4 минуты
сделала это, но внутри формы не открывает
C#
1
2
3
4
5
6
7
8
 [DllImport("_ISREG32", SetLastError = true)]
        static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);
 
        private void button1_Click(object sender, EventArgs e)
        {
            var process = new Process(); process.StartInfo.FileName = "NEUROPRO.exe"; process.Start();
            SetParent(process.MainWindowHandle, panel1.Handle);
            SetParent(process.MainWindowHandle, IntPtr.Zero);
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.06.2016, 16:15
Ответы с готовыми решениями:

Как открыть другую программу из формы?
возникла проблема ) написал много программ в консоли , все сохранено . теперь сделал форму и хочу...

После заполнения ProgressBar в одной форме скрыть ее и открыть другую
Помогите сделать полосу загрузки. Мне надо что при запуске формы полоса загрузки загружается,...

Как открыть другую форму?
Форма авторизации. При вводе правильного пароля. Должна открываться другая форма (FilmsControlForm)...

Как можно открыть другую форму
Как можно в С# открыть с помощью кнопки на одной форме другую? В С++ это выглядит так:...

7
Администратор
Эксперт .NET
17567 / 13789 / 5299
Регистрация: 17.03.2014
Сообщений: 28,270
Записей в блоге: 1
04.06.2016, 16:38 2
An_Ya, попробуй дождаться запуска программы и тогда меняй родителя:
C#
1
2
3
4
5
6
7
8
9
[DllImport("user32.dll", SetLastError = true)]
static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);
 
private void button1_Click(object sender, EventArgs e)
{
    var process = Process.Start("NEUROPRO.exe");
    process.WaitForInputIdle();
    SetParent(process.MainWindowHandle, panel1.Handle);
}
0
0 / 0 / 0
Регистрация: 10.06.2015
Сообщений: 86
04.06.2016, 16:48  [ТС] 3
OwenGlendower, Открывает просто так, но не внутри формы или панели...

Добавлено через 1 минуту
OwenGlendower, а можно еще объяснить что это значит "DllImport("user32.dll", SetLastError = true)"?
0
0 / 0 / 0
Регистрация: 10.06.2015
Сообщений: 86
04.06.2016, 16:55  [ТС] 4
OwenGlendower, вот программа которую хочу открыть внутри "panel"
Вложения
Тип файла: rar NeuroPro.rar (1,003.0 Кб, 16 просмотров)
0
Администратор
Эксперт .NET
17567 / 13789 / 5299
Регистрация: 17.03.2014
Сообщений: 28,270
Записей в блоге: 1
04.06.2016, 17:09 5
Цитата Сообщение от An_Ya Посмотреть сообщение
Открывает просто так, но не внутри формы или панели
Значит нужно подождать подольше:
C#
1
2
3
4
5
6
7
8
var process = Process.Start("NEUROPRO.exe");
process.WaitForInputIdle();
for (;;)
{
    if (process.MainWindowHandle != IntPtr.Zero) break;
    Thread.Sleep(500);
}
SetParent(process.MainWindowHandle, panel1.Handle);
Цитата Сообщение от An_Ya Посмотреть сообщение
что это значит "DllImport("user32.dll", SetLastError = true)"?
Это атрибут который говорит где находится функция Windows API SetParent.
0
0 / 0 / 0
Регистрация: 10.06.2015
Сообщений: 86
04.06.2016, 17:19  [ТС] 6
OwenGlendower, Не даже если подождать не получается Спасибо за то что откликнулись)
0
0 / 0 / 0
Регистрация: 10.06.2015
Сообщений: 86
05.06.2016, 19:42  [ТС] 7
OwenGlendower, Можно вас еще раз побеспокоить? Вы не знаете как это исправить?
Миниатюры
Как открыть другую программу на форме?  
0
0 / 0 / 0
Регистрация: 22.02.2020
Сообщений: 17
23.02.2020, 08:19 8
нашлось решение в эту проблему, у меня тоже такая задача
0
23.02.2020, 08:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.02.2020, 08:19
Помогаю со студенческими работами здесь

Как SplitContainer открыть другую Panel1?
Ребят, всем привет!Срочно нужна помощь. Есть форма, на которой находятся splitContainer и...

Как закрыть форму по таймеру и открыть другую?
Как сделать, так чтобы первая форма (Форма с логотипом) после десяти секунд, закрывалась. И...

Как с паскаля открыть другую программу?
Как с паскаля открыть другую программу?

Как открыть внутри java программы другую программу?
как мне через код открыть, скажем, .txt файл с помощью блокнота?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru