C#自动隐藏任务栏
在WPF应用程序开发过程中,我们经常需要全屏窗口,但又不想将窗口设置成TopMost=True,如果是顶层窗口会导致很多其他的问题。下面我们通过C#调用Win32的API实现应用程序窗口最大化时,任务栏自动隐藏效果。
- 代码如下
public static class Taskbar
{
//查找窗口
[DllImport("user32.dll")]
private static extern int FindWindow(string className, string windowText);
[DllImport("shell32.dll")]
public static extern UInt32 SHAppBarMessage(UInt32 dwMessage, ref APPBARDATA pData);
private static int Handle => FindWindow("Shell_TrayWnd", "");
//定义一些结构,后面需要用到
public enum AppBarMessages
{
New =0x00000000,
Remove =0x00000001,
QueryPos =0x00000002,
SetPos =0x00000003,
GetState =0x00000004,
GetTaskBarPos =0x00000005,
Activate =