如何使应用程序显示在全屏模式下,覆盖开始菜单
本文关键字:覆盖 开始 菜单 模式 应用程序 何使 显示 | 更新日期: 2023-09-27 18:05:52
我正在为霍尼韦尔Dolphin 6100开发一个应用程序,这是一款带有条形码扫描器的移动计算机,使用Windows CE 5.0操作系统。
问题是我不能把应用程序放到全屏(屏幕下面的开始菜单坚持要出现),我尝试了许多代码,但不幸的是没有成功:
解决方案1 :
int w = Screen.PrimaryScreen.Bounds.Width;
int h = Screen.PrimaryScreen.Bounds.Height;
this.Location = new Point(0, 0);
this.Size = new Size(w, h);
解决方案2 :
this.TopMost = true;
this.FormBorderStyle = FormBorderStyle.None;
this.WindowState = FormWindowState.Maximized;
有人有解决这个问题的办法吗?
您可以自动隐藏任务栏,选择Start->Settings->Taskbar and Start Menu...
,取消选择Always on top
,选择Auto hide
。
如果这不是一个选项,有一个危险的方法来防止explorer.exe
在引导过程中加载。要做到这一点,[HKEY_LOCAL_MACHINE'init]
不能被写保护。要防止explorer.exe
加载,请修改以下注册表项
[HKEY_LOCAL_MACHINE'init]
Launch50="explorer.exe"
到例如no_explorer.exe
。Launch50
中的50
将根据设备而变化。
如果你在这里搞砸了,你需要telnet访问你的设备,这样你就可以手动启动explorer.exe
或通过一种方式重置设备。建议您在尝试这个之前有一种方法来重置设备。重要的是要注意,您的应用程序必须从OEM启动器启动,或者通过将您自己的应用程序添加到设备的启动过程中启动。请参阅http://msdn.microsoft.com/en-us/library/ms901773.aspx获取如何操作的信息。
Edit:如果您选择将应用程序添加到启动进程的路线,则需要向系统发出应用程序已经启动的信号。你可以用c++编写一个简单的引导程序来完成这个任务。
#include "stdafx.h"
#include <Windows.h>
#include <iostream>
void StartMyAppFunction();
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
StartMyAppFunction( );
// Since this is application is launched
// through the registry HKLM'Init we need
// to call SignalStarted passing in
// the command line parameter
SignalStarted(_wtol(lpCmdLine));
return 0;
}
void StartMyAppFunction() ...
为auto-hiding
和task bar
使用一些技术(该选项已经存在于WinCE的control panel
中)。你可以参考
任务栏自动隐藏=全屏应用程序..:)