Я пытаюсь запустить форму при запуске, чтобы она оставалась в качестве фона для моего приложения все время его работы. По сути, я хочу скрыть все значки на рабочем столе и иметь пустой фон. Кроме того, когда пользователь нажимает определенные кнопки, я хочу изменить форму BackColor.
Я искал кучу, и я продолжаю находить половину решений. Вот что я пробовал до сих пор:
Создал BackBaseForm, который переопределяет событие WndProc, и если оно WM_WINDOWPOSCHANGING
, я не вызываю base.WndProc(ref m)
и вместо этого отправляю следующее сообщение:
SetWindowPos(Handle, new IntPtr(1), 0, 0, this.width, this.height, SWP_NOZORDER);
Однако, когда я нажимаю на форму, она все равно выводится на передний план. Я также попытался создать структуру WINDOWPOS
, маршалинг указателя на структуру и затем изменение структуры. Я не думаю, что это меняет фактическое значение lParam
в сообщении.