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

c#从任务栏中删除第三方应用程序,c#,windows,winapi,hide,taskbar,C#,Windows,Winapi,Hide,Taskbar,如何通过句柄从Windows任务栏中删除第三方应用程序 我发现: 但这对我不起作用。 它只为我选择的窗口(记事本)设置另一种样式(关闭小x,没有最大化/最小化按钮) 有什么想法吗 编辑:我不想从任务栏中删除我的应用程序,我想通过句柄删除外部应用程序要在windows任务栏中隐藏它,只需将ShowInTaskbar属性设置为false: this.ShowInTaskbar = false; 至于移动窗口,您可以使用它来检查和识别windows事件。简单: this.ShowInTaskbar

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

我发现:

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

有什么想法吗


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

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

this.ShowInTaskbar = false;
至于移动窗口,您可以使用它来检查和识别windows事件。

简单:

this.ShowInTaskbar = false;

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

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

this.ShowInTaskbar = false;

如果您拥有该窗口的句柄,则可以通过Win32 API调用。然后你可以做:

// 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);
   }
}

这对我不起作用。隐藏窗口后,它们不可见;设置shownoactivate后,它们再次可见,但也显示在任务栏中。@user1216595:好的,我误解了你的意思。您希望看到该窗口,但它不应出现在任务栏中。我以为您想隐藏窗口(如最小化)并将其从任务栏中删除。@user1216595:在这种情况下。此aint restore:IntPtr hWnd=p[0]。MainWindowHandle;ShowWindow(hWnd、WindowsShowStyle.ShowNoActivate);可能重复的