Когда форма «запускается», ей нужен поток, который запускает WndProc и обрабатывает входящие сообщения из Windows. Вам следует подумать о том, чтобы использовать Application.Run()
метод для запуска вашей формы. Это выполнит необходимую работу, чтобы убедиться, что WndProc работает должным образом, и я верю, что вы можете вызвать это из фонового потока, если это необходимо.