wince下隐藏任务栏大概有以下几种方法:
(1)通过修改注册表;
(2)在应用程序初始化的时候中加入一段代码,将任务栏窗口隐藏。
(3)直接修改explorer的代码,重新编译连接。
三种方法我都尝试了,并在s3c2440的一块板子上实验了,发现:
方法(1)的问题是任务栏隐藏不彻底,总是有一条小横线在屏幕下方!
方法(2)的问题是手写笔点到那个横线,任务栏还会弹上来,气的要命!
方法(3)比较彻底,任务栏没了,在桌面上你想找也找不回来了。
方法(3)修改的代码是:hpc目录中的taskbar.hxx中有关于定义taskbar的高度的宏定义:
#define TASKBAR_HEIGHT 26
#define TASKBAR_HEIGHT_AUTOHIDE 5
将它们修改为0即可!
方法一:
(1)隐藏任务栏
project.reg文件中加入:
[HKEY_LOCAL_MACHINE/Software/Microsoft/Shell/AutoHide]
@="1"
方法二:
为了有效的遏制用户在WINCE的PDA系统运行时,通过任务栏直接切换到桌面上,经常会用到界面全屏最大化窗体并将任务栏隐藏的方法,这里通过API函数成功实现以上方法。
代码测试环境 VS2005 C#+Symbol MC1000
代码如下:
- using
- using
- using
- using
- using
- namespace
- {
- public class
- {
- const uint
- const uint
- const uint
- const uint
- const uint
- const uint
- const int
- const int
- const int
- const int
- const int
- const int
- const int
- "aygshell.dll")]
- static extern uint SHFullScreen(IntPtr hwndRequester, uint
- "coredll.dll")]
- public static extern
- "CoreDll")]
- public static extern IntPtr FindWindow(string lpClassName, string
- "CoreDll")]
- public static extern bool ShowWindow(IntPtr hwnd, int
- public
- {
- //
- // TODO: 在此处添加构造函数逻辑
- //
- }
- /// <summary>
- /// 全屏显示
- /// </summary>
- /// <param name="objForm"></param>
- public void
- {
- true;
- HideHHTaskBar();
- IntPtr hwnd = GetCapture();
- false;
- //全屏化窗口
- }
- /// <summary>
- /// 显示任务栏
- /// </summary>
- public void
- {
- "HHTaskBar", null);
- //显示任务栏
- }
- /// <summary>
- /// 隐藏任务栏
- /// </summary>
- public void
- {
- "HHTaskBar", null);
- //隐藏任务栏
- }
- public static void
- {
- "wood", "关于", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
- }
- public static void
- {
- "wood", "About", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
- }
- }
- }
在程序中引用上面生成的dll,使用如下:
//声明
private SymbolScanWood.SymbolScanWood _objDisplay;
//隐藏任务栏
_objDisPlay.HideHHTaskBar();
//显示任务栏
_objDisplay.ShowHHTaskBar();
wince下隐藏任务栏大概有以下几种方法:
(1)通过修改注册表;
(2)在应用程序初始化的时候中加入一段代码,将任务栏窗口隐藏。
(3)直接修改explorer的代码,重新编译连接。
三种方法我都尝试了,并在s3c2440的一块板子上实验了,发现:
方法(1)的问题是任务栏隐藏不彻底,总是有一条小横线在屏幕下方!
方法(2)的问题是手写笔点到那个横线,任务栏还会弹上来,气的要命!
方法(3)比较彻底,任务栏没了,在桌面上你想找也找不回来了。
方法(3)修改的代码是:hpc目录中的taskbar.hxx中有关于定义taskbar的高度的宏定义:
#define TASKBAR_HEIGHT 26
#define TASKBAR_HEIGHT_AUTOHIDE 5
将它们修改为0即可!
方法一:
(1)隐藏任务栏
project.reg文件中加入:
[HKEY_LOCAL_MACHINE/Software/Microsoft/Shell/AutoHide]
@="1"
方法二:
为了有效的遏制用户在WINCE的PDA系统运行时,通过任务栏直接切换到桌面上,经常会用到界面全屏最大化窗体并将任务栏隐藏的方法,这里通过API函数成功实现以上方法。
代码测试环境 VS2005 C#+Symbol MC1000
代码如下:
- using
- using
- using
- using
- using
- namespace
- {
- public class
- {
- const uint
- const uint
- const uint
- const uint
- const uint
- const uint
- const int
- const int
- const int
- const int
- const int
- const int
- const int
- "aygshell.dll")]
- static extern uint SHFullScreen(IntPtr hwndRequester, uint
- "coredll.dll")]
- public static extern
- "CoreDll")]
- public static extern IntPtr FindWindow(string lpClassName, string
- "CoreDll")]
- public static extern bool ShowWindow(IntPtr hwnd, int
- public
- {
- //
- // TODO: 在此处添加构造函数逻辑
- //
- }
- /// <summary>
- /// 全屏显示
- /// </summary>
- /// <param name="objForm"></param>
- public void
- {
- true;
- HideHHTaskBar();
- IntPtr hwnd = GetCapture();
- false;
- //全屏化窗口
- }
- /// <summary>
- /// 显示任务栏
- /// </summary>
- public void
- {
- "HHTaskBar", null);
- //显示任务栏
- }
- /// <summary>
- /// 隐藏任务栏
- /// </summary>
- public void
- {
- "HHTaskBar", null);
- //隐藏任务栏
- }
- public static void
- {
- "wood", "关于", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
- }
- public static void
- {
- "wood", "About", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
- }
- }
- }
在程序中引用上面生成的dll,使用如下:
//声明
private SymbolScanWood.SymbolScanWood _objDisplay;
//隐藏任务栏
_objDisPlay.HideHHTaskBar();
//显示任务栏
_objDisplay.ShowHHTaskBar();
标签:界面,任务栏,隐藏,uintconst,static,wince,intconst,优化,public From: https://blog.51cto.com/u_6958388/5923297