Как скрыть заставку MFC при автозапуске?

У меня есть приложение MFC без главного окна. Когда пользователи запускают его, он отображает заставку в течение 1-2 секунд, затем заставка исчезает в системном трее. Пользователи начинают получать доступ к меню, щелкая значок в трее.

Приложение также может автоматически запускаться, когда пользователи входят в Windows (добавляя запись в папку «Автозагрузка»). Тот же самый процесс, описанный выше, повторяется. Я думаю, что заставка немного мешает во время автозапуска. Мне нравится скрывать заставку, когда она автоматически запускается, но оставлять заставку открытой, если пользователи запускают приложение вручную. Интересно, как лучше всего это сделать?

Большое спасибо!


person bionicoder    schedule 21.04.2009    source источник


Ответы (1)


Простым способом было бы установить ярлык для приложения в папке «Автозагрузка», который указывает параметр в командной строке, например. если ваше приложение называется myapp.exe, в свойствах ярлыка вы можете ввести <path to myapp>\myapp.exe -nosplash.

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

person binarybob    schedule 21.04.2009