| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MS Windows > Нет окна приложения, запущенного планировщиком |
| Автор: borisbn 29.3.2010, 12:46 |
| В Windows Server 2003 при добавлении задания в Windows Task Scheduler с типом "launch when computer starts" приложение запускается, но его окна на экране нет. Добавляю приложение в Scheduler под удалённым доступом (mstsc /admin) под пользователем Administrator, задаю тип запуска "launch when computer starts", перегружаю OS, захожу удалённо (mstsc /admin) под пользователем Administrator и вижу приложение в диспетчере задач, а окна приложения - нет. Кто-нибудь знает, как заставить отображать окно приложения, запущенного Scheduler'ом ? |
| Автор: mihanik 29.3.2010, 16:03 |
| Если повесил запуск на "launch when computer starts" , то всё правильно. Окно ты не увидишь... Как-то так... Или меняй тип запуска на "при входе в систему" и делай автоматический вход для учётки, или... |
| Автор: borisbn 29.3.2010, 16:47 |
по сути это не отличается от добавления ярлыка в Автозагрузку, а при повторном логине с другого терминала (без ключа /admin), моя программа запустится второй раз, а мне этого не нужно. |
| Автор: borisbn 29.3.2010, 22:58 |
| Akina, 1. А чем всё-таки отличается? 2. Именованный mutex мне не пойдёт, т.к. в зависимости от конфигурации компьютера я запускаю или 1 или 2 или 4 экземпляра программы (хотя и это всё можно учесть). А если программа не моя? и наконец 3. Хотелось бы знать, можно ли планировщиком, в автозагрузке или другими стандартными средствами запустить приложение ОДИН раз при старте компьютера, но так, чтобы его окно было видно во всех сессиях на всех desktop'ах всех пользователей? |
| Автор: Akina 30.3.2010, 07:47 | ||||
Программа работает со вполне определённым десктопом.
Скажем для 4 - искать свободный мьют среди Mutex0...Mutex3. Придётся делать запускающую обёртку, считающую количество уже запущенных экземпляров.
Да, можно - ведь мотающиеся в трее приложения (тот же антивирь) с этим вполне справляются... Кстати, если уж это ТВОЯ программа - почему она не служба? Это снимет кучу проблем в осуществлении описанного выше. |
| Автор: borisbn 30.3.2010, 08:56 |
т.е., если я правильно понял, программа, запущенная планировщиком и программа, запущенная из автозапуска, работают с разными десктопами ? она у меня кроссплатформенная, и делать windows-службу нет желания, делать же по #ifdef'ам службу или демона - тем более. И всё-таки, можно ли запустить обычное приложение так, чтобы его окно было видно если не на всех десктопах, то, хотя бы, на всех десктопах одного пользователя ? |
| Автор: Akina 30.3.2010, 09:15 | ||
Совершенно верно.
Придётся энумить все десктопы - соответственно кроссплатформенность псу под хвост А почему ты не хочешь кроссполатформенный функционал плюс ОС-зависимый интерфейс? поделить на модули... |