Можно ли скрыть winform во вкладке приложения TaskManager? - PullRequest
9 голосов
/ 10 февраля 2012

Я пишу прозрачное приложение WinForms и хочу, чтобы приложение не отображалось на вкладке приложений диспетчера задач.Я согласен с тем, что это будет отображаться в процессах (на самом деле это должно быть).Если я установлю:

this.ShowInTaskbar = false;

, он будет скрыт только от панели задач.

Полный код, который у меня есть, у меня есть таймер из меток

        public Form1()
    {
        InitializeComponent();
        this.BackColor = Color.LimeGreen;
        this.TransparencyKey = Color.LimeGreen;
        Timer time = new Timer();
        time.Interval = 1000;
        time.Tick += new EventHandler(time_Tick);
        time.Start();
        this.ShowInTaskbar = false;


    }

    void time_Tick(object sender, EventArgs e)
    {
        label1_hour.Text = DateTime.Now.Hour.ToString() ;
        label_minute.Text = DateTime.Now.Minute.ToString();
        label_second.Text = DateTime.Now.Second.ToString();
    }

Ответы [ 2 ]

31 голосов
/ 10 февраля 2012

Попробуйте что-то вроде этого

public partial class Form1 : Form {
    public Form1() {
        InitializeComponent();
        this.FormBorderStyle = FormBorderStyle.None;
        this.ShowInTaskbar = false;
    }
    protected override CreateParams CreateParams {
        get {
            var cp = base.CreateParams;
            cp.ExStyle |= 0x80;  // Turn on WS_EX_TOOLWINDOW
            return cp;
        }
    }
}
1 голос
/ 08 декабря 2017

Просто установка свойства формы FormBorderStyle в FixedToolWindow работала для меня.На Win 10 он удаляет его из «Apps» в диспетчере задач и помещает в «Фоновые процессы» ... который указывал OP (и это было то, что я тоже хотел).

Кроме того, он удаляет формуот отображения в «Windows Key + Tab» списка окон ... что я тоже хотел.

...