По моему мнению, вы не можете создать заставку в .NET для приложения .NET:
Цель заставки - отвлечь пользователей от длительного времени ожидания, пока приложение не будет загружено, запущено и инициализировано.
Поскольку само приложение .NET уже имеет некоторое время запуска, в это время недоступен заставка.
Мое решение
Итак, в своих приложениях я делаю это следующим образом:
- Напишите маленькое крошечное приложение на C ++.
- Отображение самого верхнего растрового изображения (окна без границ) при запуске приложения C ++.
- Пусть приложение C ++ запускает само приложение .NET.
- Приложение .NET запускается, и когда оно завершает запуск и инициализацию, оно сообщает приложению C ++ о закрытии. Это делается через IPC .
Межпроцессное взаимодействие выполняется следующим образом:
- Приложение C ++ записывает временный файл.
- При вызове приложения .NET имя файла передается в качестве параметра командной строки.
- Приложение C ++ регулярно опрашивает, существует ли файл.
- Приложение .NET удаляет файл, как только заставка должна быть скрыта.
- Приложение C ++ существует, как только временный файл больше не существует (или происходит тайм-аут).
Я знаю, что это не на 100% идеально, это было самое подходящее решение, которое я придумал, так как много лет назад начал разрабатывать приложения .NET.