Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Запустить внешнюю программу и определить, что...


mfender ©   (2010-10-14 13:13:00) 

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

Вроде всё нормально, но она сразу выключается после ShellExecute. А мне хочется, чтобы она закрылась, когда запускаемая ею программа будет видна на экране. Прихоть, конечно, но как-то так логичнее, что-ли...

Как определить, что окно внешней программы уже созрело и его видно? Вобщем, как из одной программы увидеть, что у другой состоялся Application.Run?


RWolf   (2010-10-14 15:02:00) [1]

WaitForInputIdle

</thread>


Dennis I. Komarov   (2010-10-14 14:49:00) [2]


> Ну, я-то себе разрешаю

А здря... Я вот себе нет


Anatoly Podgoretsky   (2010-10-14 14:42:00) [3]

> mfender  (14.10.2010 14:38:08)  [8]

Так вы сами кормите тролля.


mfender   (2010-10-14 14:38:00) [4]


> Теперь ко всему сказанному добавляем тот факт, что юзер
> сидит с соответствующими правами, а прога живет в программфилес,
>  куда юзеру злой админ категорически запрещает что-то писать.
>

Ну, я-то себе разрешаю, а дальше моего компутера и ещё одного компутера на работе она не пойдёт. Хотя, тема интересная. Об этом, как я заметил, даже Sony не думают: не так давно пришлось разъяснять товарищам, что после установки Sony XDCam и программулины к нему, администратору нужно менять права на некоторых папках, чтобы смертные юзеры могли работать с устройством, ценою $14000.


Dennis I. Komarov   (2010-10-14 14:33:00) [5]


> Точно, так и сделаю! ))))

Теперь ко всему сказанному добавляем тот факт, что юзер сидит с соответствующими правами, а прога живет в программфилес, куда юзеру злой админ категорически запрещает что-то писать.


mfender   (2010-10-14 14:24:00) [6]


> а обновление конечно сильно зависит от того, кто там чего
> уже видит/не видит на мониторе

Ну как-то без ничего неприятно ожидать в непонимании. Традиционно, если на экране ничего нет, люди начинают судорожно давить на ярлык раз по пядьтесят семь. А когда есть какой-то сплеш с индикатором, который оповещает, что работа кипит - они расслабляются и идут курить.


Медвежонок Пятачок   (2010-10-14 14:21:00) [7]

а обновление конечно сильно зависит от того, кто там чего уже видит/не видит на мониторе


mfender   (2010-10-14 14:21:00) [8]

Хотя, наверное Dennis I. Komarov ©прав - извращение. Всё это можно сделать в самом exe, в частности проверить какой-то внешний update'р на наличие новой версии, а там уж его запускать когда нужно, и если будет обновление, то передавать ему управление обновлением и перезапуском программы. Точно, так и сделаю! ))))


mfender   (2010-10-14 14:17:00) [9]


> Для чего месье извращается?

Для возможности обновления.


Dennis I. Komarov   (2010-10-14 14:13:00) [10]


> Делаю splash  виде отдельной программулины, которая проверяет
> подключение к сети, доступ к серверу, наличие обновлений,
>  и если таковые имеются, скачивает и раскидывает куда надо,
>  и только после этих телодвижений запускает саму программу
> и закрывает саму себя.

Для чего месье извращается?


Сергей М.   (2010-10-14 13:30:00) [11]


> у другой состоялся Application.Run


Даже если он только что состоялся и ты поймал этот момент, это не есть факт того что в этот момент юзер видит окно. Оно вполне может быть визуализировано намного позже вызова Application.Run.


Наверх

Титульная страница Поиск, карта сайта Написать письмо