Как заставить приложение отображаться в полноэкранном режиме, закрывая меню "Пуск"?
Я занимаюсь разработкой приложения для 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;
У кого-нибудь есть решение для этого?
2 ответа
Вы можете автоматически скрыть панель задач, перейдя 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
, 50
в Launch50
будет варьироваться в зависимости от устройства.
Если вы запутались здесь, вам понадобится доступ 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() ...
Используйте некоторую технику для auto-hiding
task bar
(Какой вариант уже присутствует в control panel
WinCE. Вы можете сослаться на это).
Автоскрытие панели задач = полноэкранное приложение..:)