1

我正在为 Honeywell 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;

有人对此有解决方案吗?

4

2 回答 2

1

您可以通过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。输入50Launch50因设备而异。

如果您在这里搞砸了,您将需要 telnet 访问您的设备,以便您可以explorer.exe手动启动或恢复出厂设置。建议您在尝试之前先将设备恢复出厂设置。请务必注意,您的应用程序必须从 OEM 启动器启动,或者通过将您自己的应用程序添加到设备的启动过程中来启动。有关如何执行此操作的信息,请参阅http://msdn.microsoft.com/en-us/library/ms901773.aspx 。

编辑:如果您将应用程序添加到引导过程中,则需要向系统发出应用程序已启动的信号。您可以在 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() ...
于 2013-03-27T11:26:51.490 回答
0

使用一些技术(WinCEauto-hidingtask bar已经存在哪个选项control panel。您可以参考)。

任务栏自动隐藏 = 全屏应用程序.. :)

于 2013-03-26T14:55:50.490 回答