C#使用Windows API 隐藏/显示 任务栏 (FindWindowEx, ShowWindow)

原文 C#使用Windows API 隐藏/显示 任务栏 (FindWindowEx, ShowWindow)

今天,有网友询问,如何显示和隐藏任务栏?

我这里,发布一下使用Windows API 显示和隐藏 Windows 的任务栏的方法,windows 的任务栏,其实是一个窗口(window),只要找到这个窗口的句柄,显示和隐藏就轻而易举了,任务栏是个没有标题的窗口,但它的类名是 Shell_TrayWnd,所以,可以用FindWindow 或 FindWindowEx 去查找它的句柄,而显示和隐藏窗口,使用的是 ShowWindow:

  • 引入Windows API 的声明
[DllImport("user32.dll", EntryPoint = "FindWindowEx", SetLastError = true)]
static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);

[DllImport("user32.dll", EntryPoint = "ShowWindow", SetLastError = true)]
static extern bool ShowWindow(IntPtr hWnd, uint nCmdShow);
  • 显示/隐藏任务栏窗口
IntPtr trayHwnd = FindWindowEx(IntPtr.Zero, IntPtr.Zero, "Shell_TrayWnd", null);
if (trayHwnd != IntPtr.Zero)
{
    ShowWindow(trayHwnd, 0);
}

上面的代码中, ShowWindow 的第二参数, 1 表示显示, 0 表示隐藏

时间: 2024-10-21 09:39:44

C#使用Windows API 隐藏/显示 任务栏 (FindWindowEx, ShowWindow)的相关文章

显示、隐藏win95任务栏

Declare Function FindWindow Lib "user32" Alias "FindWindowA" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Declare Function ShowWindow Lib "user32" Alias "ShowWindow" _ (ByVal hwnd As Long, B

也谈如何隐藏显示在任务栏中的对话框程序

介绍 在 VCKBASE Online Journal 第21期中,NorthTibet 写了"如何隐藏显示在任务栏中的对话框程序"一文,颇为巧妙,而且非常好用,唯一不爽的是有点麻烦.踩在他的肩膀上,我找到了一个比较简单的方法. 实现 隐藏这个Main Dialog的思路就是把这个Dialog看成一个子窗口,然后再把WS_EX_APPWINDOW属性去掉. WS_EX_APPWINDOW不大常用,MSDN的解释是: Forces a top-level window onto the

SystemUI中状态栏跟导航栏隐藏显示控制方法及效果示例

SystemUI中状态栏跟导航栏隐藏显示控制方法及效果示例            SystemUI在android4.2SDK上,对于phone版本,包含了状态栏statusbar,也有导航栏navigationbar,对于有些手机来说可能导航栏是在触摸屏上的,当然这一个部分是可以不需要的.下面我们就一起来看看systemUI可见性的几种选择以及带来的实际效果对比. /****************************************************************

C#+Windows API操纵系统菜单

window|菜单 一.前言 本文针对C#.NET中没有提供直接的类似SystemMenu的属性或类似GetSystemMenu的成员函数的情况,通过调用Windows API设计了一个C#类SystemMenu,从而实现了传统的对于系统菜单的操作. 二.系统菜单简介 当你单击窗口图标或右击窗口标题栏时系统菜单即弹出.它包含当前窗口的默认行为.不同窗口的系统菜单看起来有些不同,如一个正常窗口的系统菜单看起来与一个工具栏子对话框窗口的菜单就不一样. 修改系统菜单的好处: ·添加应用程序自己定义的菜

C#+低级Windows API钩子拦截键盘输入

window 一. 简介 猫和婴儿有很多共同之处.他们都喜欢吃家中养植的植物,都非常讨厌关门.他们也都爱玩弄你的键盘,结果是,你正发送给你的老板的电子邮件可能是以半截句子发送出去的,你的Excel帐户也被加入了一些乱七八糟的内容,并且你还没有注意到,当打开Windows资源管理器时,若干文件已经被移到了回收站! 其解决方案是,开发一个应用程序实现如下功能:只要键盘处于"威胁状态"你就可以进行切换,并确保任何键盘输入活动都不会造成危害.本文想展示如何使用一种低级Windows API钩子

初级Windows API C++语言版编程(3)

由于上一章的文章中我没有向大家介绍清楚初试化的具体实现,造成很多的读者无法很好的理解,这是我的失误.本人现在补上,请大家原谅. 一个Windows API程序的初始化主要分为为四个部分.1.窗口类的定义2.窗口类的注册3.创建窗口实例4.显示窗口 ①窗口类定义 在Windows应用程序中,窗口类定义了窗口的形式与功能.它的定义过程通过给窗口类数据结构WNDCLASS赋值来完成,这个数据结构包含窗口类的各个属性.窗口类的定义常用到以下几个函数,在这里一一介绍. 1.LoadIcon函数 LoadI

Windows API 函数列表 附帮助手册

原文:Windows API 函数列表 附帮助手册 所有Windows API函数列表,为了方便查询,也为了大家查找,所以整理一下贡献出来了.   帮助手册:700多个Windows API的函数手册 免费下载   API之网络函数 API之消息函数 API之文件处理函数 API之打印函数 API之文本和字体函数 API之菜单函数 API之位图.图标和光栅运算函数 API之绘图函数 API之设备场景函数 API之硬件与系统函数 API之进程和线程函数 API之控件与消息函数     1. API

winform,wpf全屏 还显示任务栏的解决方法

原文:winform,wpf全屏 还显示任务栏的解决方法 以wpf为例: 全屏代码: this.Topmost = true; this.WindowStyle = System.Windows.WindowStyle.None; this.WindowState = System.Windows.WindowState.Maximized; this.Hide(); //先调用其隐藏方法 然后再显示出来,这样就会全屏,且任务栏不会出现.如果不加这句 可能会出现假全屏即任务栏还在下面. this

Windows 8 应用开发 - 应用栏

原文:Windows 8 应用开发 - 应用栏      通过应用栏(AppBar)可以在需要时向用户显示各种应用命令.应用栏提供与用户当前页面或当前选定的内容相关的各种命令.默认情况下,应用栏处于隐藏状态.当用户沿屏幕边缘从顶部或底部用手指划动时会显示应用栏,还可以通过单击鼠标右键显示.在用户启动命令.点击应用界面或重复划动手势后,应用栏会自动消失.如果需要进行多选命令操作时,也可以以让应用栏始终可见. 新建应用栏 以下边栏(BottomAppBar)为例,利用AppBar 控件编写一个具有文