Сделал приложение Windows Forms, хочу использовать его как виджет на рабочем столе, но не могу закрепить его так, чтобы оно находилось всегда сзади всех открытых процессов (то есть на рабочем столе). Почитал зарубежные сайты, способы описанные там не работают, может есть какой-то современный вариант это осуществить?
В событии Activated формы пишем:
private void Form1_Activated(object sender, EventArgs e)
{
this.SendToBack();
}
Это будет постоянно размещать форму ниже всех остальных.
Чтобы форма была постоянно на рабочем столе, отключим возможность её минимизации:
this.MinimizeBox = false;
Вот так можно сделать форму, которую пользователь не сможет поместить поверх других. Однако, сама она появляется сверху и будет уходить вглубь по мере перехода в другие приложения.
class Form1 : Form
{
protected override CreateParams CreateParams
{
get
{
const int WS_EX_NOACTIVATE = 0x08000000, WS_EX_APPWINDOW = 0x00040000;
var cp = base.CreateParams;
cp.ExStyle = (cp.ExStyle & ~WS_EX_APPWINDOW) | WS_EX_NOACTIVATE;
return cp;
}
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
На данный вопрос уже ответили:
Нужно подгружать разные нативные либы в зависимости от значения некоторой функцииНо название dll, которое указывается в DllImport, const, т
Скачал с сайта код проекта и подключил как на картинке, но visual studio не хочет видеть классыЧто и как поправить?