Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 1
Регистрация: 21.03.2011
Сообщений: 49

Запуск другого приложения в фоне

15.01.2017, 22:12. Показов 2118. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!

Каким образом можно запустить второе приложение без потери фокуса и сворачивания первого полноэкранного приложения приложения?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.01.2017, 22:12
Ответы с готовыми решениями:

Запуск консольного приложения из другого приложения
Я понимаю, что мой вопрос уже разжеван. Однако точного ответа я пока на него не нашел. У меня есть некоторое приложение. Я хочу по...

Запуск другого приложения
Здравствуйте! Подскажите, как организовать такое: нужно написать приложение, которое при нужных условиях будет запускать и завершать работу...

Запуск другого приложения
Есть приложение. Мне нужно сначала проверить установлено ли оно и только потом запускать. Если не установлено то открыть ссылку. Как это...

2
293 / 256 / 107
Регистрация: 26.10.2012
Сообщений: 806
19.01.2017, 08:43
Меню: Edit -> ProjectSettings -> Player
вкладка Resolution&Presentation выставить галку RunInBackGround
Запускать в псевдополноэкранном режиме - оконный режим без рамки
0
0 / 0 / 1
Регистрация: 21.03.2011
Сообщений: 49
20.01.2017, 22:55  [ТС]
Нашел решение:
1. Запустить app1 с ключами -popupwindow -screen-height %full_height% -screen-width %full_width%
2. В app1 создать процесс с minimized or hidden WindowStyle параметром в Process.StartInfo.
3. В app2 Добавить следующий код:

"VideosSelector" - Caption главной формы app1.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
using UnityEngine;
using System.Collections;
using UnityEngine.VR;
using System.Runtime.InteropServices;
using System;
using System.Diagnostics;
using System.Threading;
using System.Collections.Generic;
using System.Text;
 
public class CMDFilesToPlay : MonoBehaviour {
 
    void Awake()
    {
        var videosSelectors = FindWindowsWithText("VideosSelector");
        foreach (IntPtr hwnd in videosSelectors)
        {
            Thread.Sleep(100);
            SetForegroundWindow(hwnd);
            break;
        }
    }
 
    [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
    public static extern bool SetForegroundWindow(IntPtr hWnd);
 
    [DllImport("user32.dll", CharSet = CharSet.Unicode)]
    private static extern int GetWindowText(IntPtr hWnd, StringBuilder strText, int maxCount);
 
    [DllImport("user32.dll", CharSet = CharSet.Unicode)]
    private static extern int GetWindowTextLength(IntPtr hWnd);
 
    [DllImport("user32.dll")]
    private static extern bool EnumWindows(EnumWindowsProc enumProc, IntPtr lParam);
 
    // Delegate to filter which windows to include
    public delegate bool EnumWindowsProc(IntPtr hWnd, IntPtr lParam);
 
    /// <summary> Get the text for the window pointed to by hWnd </summary>
    public static string GetWindowText(IntPtr hWnd)
    {
        int size = GetWindowTextLength(hWnd);
        if (size > 0)
        {
            var builder = new StringBuilder(size + 1);
            GetWindowText(hWnd, builder, builder.Capacity);
            return builder.ToString();
        }
 
        return String.Empty;
    }
 
    /// <summary> Find all windows that match the given filter </summary>
    /// <param name="filter"> A delegate that returns true for windows
    ///    that should be returned and false for windows that should
    ///    not be returned </param>
    public static IEnumerable<IntPtr> FindWindows(EnumWindowsProc filter)
    {
        IntPtr found = IntPtr.Zero;
        List<IntPtr> windows = new List<IntPtr>();
 
        EnumWindows(delegate(IntPtr wnd, IntPtr param)
        {
            if (filter(wnd, param))
            {
                // only add the windows that pass the filter
                windows.Add(wnd);
            }
 
            // but return true here so that we iterate all windows
            return true;
        }, IntPtr.Zero);
 
        return windows;
    }
 
    /// <summary> Find all windows that contain the given title text </summary>
    /// <param name="titleText"> The text that the window title must contain. </param>
    public static IEnumerable<IntPtr> FindWindowsWithText(string titleText)
    {
        return FindWindows(delegate(IntPtr wnd, IntPtr param)
        {
            return GetWindowText(wnd).Contains(titleText);
        });
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.01.2017, 22:55
Помогаю со студенческими работами здесь

Запуск другого приложения
помогите пожалуйста, вопрос не тяжелый: мне нужно зделать так, что бы когда я нажимаю на пункт в меню &quot;калькулятор&quot;, программа...

Запуск другого приложения
Привет. А подскажите пожалуйста как по нажатию кнопки в Form1 запускать другое виндоусовское приложение Form2?

Проверка на запуск другого приложения
Есть два приложения разработанных в builder c++. Необходимо ввести условие, что одно не запускается, если открыто второе. Как это...

Запуск потока из другого приложения
Подскажите как запустить/остановить, приостановить/возобновить поток одного процесса из другого?

Запуск другого приложения по названию
Нужно сделать запуск другого приложения по названию. Например если написать &quot;Subawy Surf&quot; или &quot;Поварёнок&quot; то оно его...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru