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

本文关键字:第三方 应用程序 删除 任务栏 | 更新日期: 2023-09-27 18:33:41

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

我发现这个:使用 C# 包装器从任务栏中删除应用程序?

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

对此有什么想法吗?

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

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

如果你有窗口的句柄,你可以通过 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);
   }
}

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

this.ShowInTaskbar = false;

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

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

this.ShowInTaskbar = false;

简单:

this.ShowInTaskbar = false;

至于表单移动:您可以使用布局事件下的Move事件