Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
3 / 3 / 0
Регистрация: 08.02.2012
Сообщений: 15

Заставка для сторонней программы

10.07.2013, 19:39. Показов 1073. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ситуация такая: есть программа, которая загружается примерно минуты 4, т.е. в диспетчере задач она есть, а визуально еще нет.
Я решил сделать заставку, чтобы было понятно, что программа загружается.
Сделал так.
Создал форму, таймер

VB.NET
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
Private bTest As Boolean
 
'процедура определение запуска программы
    Private Sub FindPro()
        For Each pr As Process In Process.GetProcesses
            If pr.MainWindowTitle = "МГС" Then  'если программа появилась, тогда закрываю свою
                bTest = True
                Application.Exit()
            End If
        Next
    End Sub
 
 ' Определение запущенных процессов
    Private Sub ProcessProg()
        Dim running() As Process = Process.GetProcesses()
        If running.Length > 0 Then
            Dim Cnt As Integer
            For Cnt = 0 To running.Length - 1
                If running(Cnt).ProcessName = "MGS" Then 'если процесс запущен, тогда
                    Tmr.Enabled = True                             'включаем таймер
                    lblSec.Visible = True                            'показываю надпись "Загрузка"
                   
                End If
            Next Cnt
        End If
    End Sub
 
'Загрузка формы
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 
        Call FindPro()
        'если программа не запущена, тогда запускаю
        If IO.File.Exists("D:\DEPMGS\МГС эт\BIN\MGS.exe") = True And bTest = False Then
            Process.Start("D:\DEPMGS\МГС эт\BIN\MGS.exe")
        End If
        Call ProcessProg()
End Sub
 
'Работа таймера
    Private Sub Tmr_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tmr.Tick
        Static boo As Long
        boo = boo + 1
        If boo > 3 Then boo = 0 'счетчик запросов
        'Если программа запущена, тогда выход
        If boo = 3 Then
            Application.DoEvents()
            Call FindPro()
        End If
    End Sub
Запускаю свою программу, она, в свою очередь, запускает нужную мне прогу, НО ...
Прога появляется в свернутом виде и разворачиваться не желает.
В чем проблема?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.07.2013, 19:39
Ответы с готовыми решениями:

Приостановить работу сторонней программы
Добрый день.Подскажите как сделать блокировку окна какой-нибудь программы,пока работает другая программа,которая создала эту блокировку,но...

Извлечь из сторонней программы строки
Нужно извлечь строки из гарены - (My Host User List) Нашел что-то подобное для Теам Виева Тяжко самому разобраться Ссыль на форум...

Сделать рестарт сторонней программы
Доброе время суток! Банальное оповещение. Я начинающий человечек в этой сфере. Облазил много форумов и много просмотрел видео , но так...

7
 Аватар для edward_freedom
1569 / 1448 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
10.07.2013, 20:34
Неужели эту кнопочка так плохо видно?
Миниатюры
Заставка для сторонней программы  
1
104 / 55 / 7
Регистрация: 02.07.2013
Сообщений: 314
11.07.2013, 03:56
Взято с сайта
Кликните здесь для просмотра всего текста
Если вы хотите большей гибкости при запуске другого приложения, то создайте объект ProcessStartInfo, с помощью которого сможете управлять поведением программы.


System.Diagnostics.ProcessStartInfo processprop = new System.Diagnostics.ProcessStartInfo();
processprop.FileName = "notepad";
processprop.Arguments = @"C:\windows\readme.txt";
processprop.WindowStyle = System.Diagnostics.ProcessWindowStyle.Ma ximized; // в развернутом виде
System.Diagnostics.Process process = new System.Diagnostics.Process();
process = System.Diagnostics.Process.Start(process prop);
0
1652 / 715 / 47
Регистрация: 11.03.2012
Сообщений: 1,855
Записей в блоге: 1
11.07.2013, 07:38
Бормалей, Да и на форуме такое есть, в FAQ
0
Почетный модератор
 Аватар для Памирыч
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
11.07.2013, 20:37
Бормалей, не вводите новичков в заблуждение. Автору темы нужно показывать собственную заставку до тех пор, пока не появится окно сторонней программы (насколько я понял).
Сейчас проверить не могу, но если б знать, например, что окно той софтины не детектируется в системе до полного своего появления, то можно попробовать при запуске сразу показать заставку и проверять список открытых окон. При появлении нужного закрыть заставку.
0
3 / 3 / 0
Регистрация: 08.02.2012
Сообщений: 15
11.07.2013, 20:47  [ТС]
Программа, которую нужно оформить заставкой - программа управления и контроля удаленными объектами и насколько я понимаю, при загрузке она сначала опрашивает объекты, а потом проявляется.
0
104 / 55 / 7
Регистрация: 02.07.2013
Сообщений: 314
12.07.2013, 02:26
Цитата Сообщение от Памирыч Посмотреть сообщение
Бормалей, не вводите новичков в заблуждение. Автору темы нужно показывать собственную заставку до тех пор, пока не появится окно сторонней программы (насколько я понял).
Сейчас проверить не могу, но если б знать, например, что окно той софтины не детектируется в системе до полного своего появления, то можно попробовать при запуске сразу показать заставку и проверять список открытых окон. При появлении нужного закрыть заставку.
Да я и сам новичок =). И я думал если он так запускает программу
VB.NET
1
2
3
 If IO.File.Exists("D:\DEPMGS\МГС эт\BIN\MGS.exe") = True And bTest = False Then
            Process.Start("D:\DEPMGS\МГС эт\BIN\MGS.exe")
        End If
то
VB.NET
1
2
3
4
5
6
7
If IO.File.Exists("D:\DEPMGS\МГС эт\BIN\MGS.exe") = True And bTest = False Then
System.Diagnostics.ProcessStartInfo processprop = new System.Diagnostics.ProcessStartInfo();
processprop.FileName = "D:\DEPMGS\МГС эт\BIN\MGS.exe";
processprop.WindowStyle = System.Diagnostics.ProcessWindowStyle.Maximized; // в развернутом виде
System.Diagnostics.Process process = new System.Diagnostics.Process();
process = System.Diagnostics.Process.Start(processprop);
end if
так она запустится в развернутом виде.
Прога появляется в свернутом виде и разворачиваться не желает.
0
1652 / 715 / 47
Регистрация: 11.03.2012
Сообщений: 1,855
Записей в блоге: 1
12.07.2013, 07:15
Цитата Сообщение от Бормалей Посмотреть сообщение
И я думал если он так запускает программу
По сути она сома должна запуститься в развернутом состоянии.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.07.2013, 07:15
Помогаю со студенческими работами здесь

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

Сделать активным окно сторонней программы
Здравствуйте. Прошу помощи в данном вопросе, т.к. поиски по гуглам-яндексам, форумам и статьям выдают что то рядом, но не то. Имею...

Отследить запуск сторонней программы без таймера
Здравствуйте. Задача такая, отслеживать запущенные программы, и , если программа соответствует заданному имени, тогда её закрыть. ...

Запуск сторонней программы с параметрами и чтение ее вывода
Собственно не знаю как реализовать такую вещь: запуск программы будет через cmd вроде такого test.exe test2.t Так вот как такое...

Запуск сторонней программы с заданным размером формы
Здравствуйте, как запустить стороннее приложение с заданным размером формы. И получить размер формы запущенного стороннего приложения.


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов: Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения) / / Запрос для поиска дублей в регистре сведений Запрос = Новый. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru