c#从任务栏中删除第三方应用程序

时间:2012-05-09 11:09:09

标签: c# windows winapi hide taskbar

如何通过其句柄从Windows任务栏中删除第三方应用程序?

我发现了这个: Remove application from taskbar with C# wrapper?

但它对我没用。 它只为我选择的窗口(记事本)设置了另一种样式(小x关闭,没有最大化/最小化按钮)。

有关于此的任何想法吗?

编辑:我不想从任务栏中删除我的应用程序,我想通过句柄删除外部应用程序

4 个答案:

答案 0 :(得分:5)

要从Windows任务栏隐藏它,您只需将ShowInTaskbar属性设置为false:

this.ShowInTaskbar = false;

至于移动窗户,您可以使用spy++检查窗口事件并识别它。

答案 1 :(得分:4)

如果您有窗口句柄,可以通过Win32 API调用ShowWindow()。然后你可以这样做:

// Let the window disappear (even from taskbar)
ShowWindow(this.Handle, WindowShowStyle.Hide);

// Revive the window back to the user
ShowWindow(this.Handle, WindowShowStyle.ShowNoActivate);

所以从现在开始,你所有的问题都是获得你想隐藏的窗口的句柄:

Process[] procs = Process.GetProcesses();
IntPtr hWnd;
foreach(Process proc in procs)
{
   if ((hWnd = proc.MainWindowHandle) != IntPtr.Zero)
   {
      Console.WriteLine("{0} : {1}", proc.ProcessName, hWnd);
   }
}

答案 2 :(得分:1)

如何从Windows任务栏中删除应用程序?

this.ShowInTaskbar = false;

答案 3 :(得分:-2)

简单:

this.ShowInTaskbar = false;

至于表单移动:您可以使用布局活动

下的Move活动