2012-05-09 34 views
3

如何從Windows任務欄中刪除第三方應用程序?c#從任務欄中刪除應用程序

我發現這一點: Remove application from taskbar with C# wrapper?

但它不爲我工作。 它只設置了另一種風格(小x關閉,沒有最大化/最小化按鈕)到我選擇的窗口(記事本)。

對此的任何想法?

編輯:我不想從任務欄中刪除我的應用程序,我想要刪除外部應用程序。

+0

可能重複:如何隱藏第三方窗口在任務欄由hWnd](http://stackoverflow.com/questions/7219063/win32-how-to-hide-3rd-party-windows-in-taskbar-by-hwnd) – Oliver

回答

3

如果你有窗口的句柄,你可以通過Win32 API調用ShowWindow()。然後,你可以這樣做:

// 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); 
    } 
} 
的[Win32的
+0

這不適合我。隱藏窗戶之後,它們不可見,設置完成後,它們再次可見,並且也顯示在任務欄中。 – cyptus

+0

@ user1216595:好的,我誤解了你。你想看到窗口,但不應該出現在任務欄中。我以爲你想隱藏窗口(如最小化),並將其從任務欄中刪除。 – Oliver

+1

@ user1216595:在這種情況下[此問題已被解答](http://stackoverflow.com/questions/7219063/win32-how-to-hide-3rd-party-windows-in-taskbar-by-hwnd) 。 – Oliver

5

從Windows任務欄中隱藏它,你只需要ShowInTaskBar屬性設置爲false:

this.ShowInTaskbar = false; 

至於窗戶的移動,你可以使用spy++檢查窗口的事件和標識。

+0

不是我的應用程序,另一個外部應用程序。 – cyptus

-2

簡單:

this.ShowInTaskbar = false; 

對於運動:你可以用下佈局事件

+0

不是我的應用程序的另一個外部應用程序。 – cyptus

1

Move事件如何刪除從Windows任務欄上的應用程序?

this.ShowInTaskbar = false; 
+0

不是我的應用程序的另一個外部應用程序。 – cyptus

相關問題