xp和win7下"开始"菜单的区别及隐藏显示
2011-09-23 16:50
120 查看
项目中程序都是全屏显示,在任务栏总显示在最前面,最先想到办法是任务栏自动隐藏,可在程序操作过程中任务栏经常跑出来,所以想把它彻底隐藏掉。通过api就可以解决了(我机器是xp),但拿到测试机(win7)下运行,任务栏是隐藏了,不足的是"开始"这个按钮还是显示的。
用spy++反复查看比对,我得出如下结论:
任务栏就像一个容器,里面有子容器,子容器里面又有子窗口,最后到单一个体。比较形象化的就是路过的树倒过来看。在xp下"开始"是作为任务栏子窗口存在的,隐藏任务栏后自己包括子子孙孙自然都隐藏了。可在win7下"开始"是相对任务栏独立存在的,也就是它们是一个级别的,所以隐藏任务栏,"开始"还在那显示着。
知道这些就好办了,下面是完美隐藏显示解决办法。
View Code
用spy++反复查看比对,我得出如下结论:
任务栏就像一个容器,里面有子容器,子容器里面又有子窗口,最后到单一个体。比较形象化的就是路过的树倒过来看。在xp下"开始"是作为任务栏子窗口存在的,隐藏任务栏后自己包括子子孙孙自然都隐藏了。可在win7下"开始"是相对任务栏独立存在的,也就是它们是一个级别的,所以隐藏任务栏,"开始"还在那显示着。
知道这些就好办了,下面是完美隐藏显示解决办法。
View Code
using System; using System.Windows.Forms; using System.Runtime.InteropServices; namespace demo { public partial class Form1 : Form { public Form1() { InitializeComponent(); } [DllImport("user32.dll", EntryPoint = "FindWindow")] public extern static IntPtr FindWindow(string lpClassName, string lpWindowName); [DllImport("user32.dll")] public static extern int ShowWindow(IntPtr hwnd, int show); [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] public static extern IntPtr FindWindowEx(IntPtr parentHandle, IntPtr childAfter, string lclassName, string windowTitle); const int SW_SHOW = 5 ;//显示 const int SW_HIDE = 0;//隐藏 private void Form1_Load(object sender, EventArgs e) { IntPtr taskbar = FindWindow("Shell_TrayWnd", null); IntPtr start = FindWindowEx(IntPtr.Zero, IntPtr.Zero, "Button", null); ShowWindow(taskbar, SW_HIDE); ShowWindow(start, SW_HIDE); } } }
相关文章推荐
- win7与xp系统中如何显示隐藏的文件
- 在启动Windows CE时,隐藏“开始”菜单,并全屏显示Internet Explorer程序
- 右键增加"显示/隐藏扩展名"及"显示/隐藏隐藏的文件"菜单的简单实现
- win7 64位系统中为右键菜单添加显示隐藏系统文件和文件扩展名的方法
- win7 开始 菜单 自定义 要显示的最近打开过的程序的数目 是灰色的 不可以更改 怎么解决?
- Win7如何显示/隐藏Administrator账号
- html-编写"改变颜色"、"改变宽高"、"隐藏内容"、"显示内容"、"取消设置"的函数
- XP快速启动栏里的"显示桌面"没有了,其他的都还在,应该怎么再添加进去?
- jQuery 菜单显示隐藏
- html代码 点击显示隐藏菜单代码
- ECShop后台管理菜单显示、隐藏、修改、增加
- VB显示/隐藏 开始按扭
- xp驱动和Win7驱动的区别
- Dynamics CRM 365 子网格上"添加"按钮旁的“查看关联视图”按钮如何控制显示和隐藏?
- html中dl、dt、dd标记的使用实现菜单显示|隐藏
- win7“开始”菜单位置
- Unity3d NGUI的使用(十)(UIPlay Animation制作隐藏显示菜单)
- 修复开始菜单属性设定中只有"经典「开始」菜单"选项~
- 让隐藏的virtualBox菜单重新显示