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

cyp*_*tus 3 c# windows winapi taskbar hide

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

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

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

有关于此的任何想法?

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

Zak*_*aki 5

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

this.ShowInTaskbar = false;
Run Code Online (Sandbox Code Playgroud)

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


Oli*_*ver 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);
Run Code Online (Sandbox Code Playgroud)

因此,从现在开始,您的所有问题就是获取您想要隐藏的窗口的句柄:

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