如何通过其句柄从 Windows 任务栏中删除 3rd 方应用程序?
我发现了这个: 使用 C# 包装器从任务栏中删除应用程序?
但这对我不起作用。它只为我选择的窗口(记事本)设置另一种样式(小 x 关闭,没有最大化/最小化按钮)。
有什么想法吗?
编辑:我不想从任务栏中删除我的应用程序,我想通过句柄删除外部应用程序
要从 Windows 任务栏中隐藏它,您只需将 ShowInTaskbar 属性设置为 false :
this.ShowInTaskbar = false;
至于移动窗口,您可以使用spy++来检查窗口事件并识别它。
如果您有窗口句柄,则可以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);
}
}
如何从 Windows 任务栏中删除应用程序?
this.ShowInTaskbar = false;
简单的:
this.ShowInTaskbar = false;
至于Form移动:可以使用Layout eventsMove
下的事件