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