5

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

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

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

有什么想法吗?

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

4

4 回答 4

4

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

this.ShowInTaskbar = false;

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

于 2012-05-09T11:13:43.097 回答
4

如果您有窗口句柄,则可以ShowWindow()通过 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);
   }
}
于 2012-05-09T12:07:51.747 回答
0

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

this.ShowInTaskbar = false;
于 2012-05-09T11:16:45.473 回答
-3

简单的:

this.ShowInTaskbar = false;

至于Form移动:可以使用Layout eventsMove下的事件

于 2012-05-09T11:14:19.227 回答