如何隐藏Windows CE任务栏并以全屏显示程序窗口?

时间:2014-10-28 06:42:21

标签: vb.net compact-framework windows-ce

我在Windows CE移动设备上使用VB.Net。我试图在“全屏”显示我的表单(即,覆盖整个屏幕,甚至在任务栏的顶部),同时不允许移动/拖动表单。到目前为止,我只实现了:

  • 将表单全屏显示,但用户可以拖动它。我只需将表单的高度和宽度设置为屏幕的高度和宽度即可。

  • 禁用拖动(通过将windowstate设置为“maximized”),但任务栏可见并已启用

  • 禁用拖动(再次使用Maximized),隐藏任务栏(通过使用coredll中的ShowWindow),但窗口在底部被切断 - 任务栏应该在的区域,它在哪里现在显示一个空白区域而不是我想要的其他形式

我尝试过SetWindowPos,但任务栏仍然存在。代码如下:

' this code is from the main form's load event
CDevice.HideTaskBar(Me)
Me.AutoScroll = False
Me.WindowState = FormWindowState.Maximized

以下是HideTaskBar的定义(来自上面的代码):

Public Const SWP_NOSIZE As Int32 = &H1
Public Const SWP_NOMOVE As Int32 = &H2
Public Shared Sub HideTaskBar(ByRef obj As Form)
    Dim taskhWin = FindWindow("HHTaskBar", Nothing)
    SetWindowPos(taskhWin, New IntPtr(-1), 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE)
    SetWindowPos(obj.Handle, New IntPtr(1), 0, 0, 240, 320, 0)
End Sub

2 个答案:

答案 0 :(得分:1)

虽然WindowsCE(你有哪个版本?)的行为有点不同,请看一下:http://www.hjgode.de/wp/2012/05/10/windows-mobile-kiosk-mode-series-part-1/ 虽然我用C#编码,你应该能够将它翻译成VB。请参阅此处的代码:http://code.google.com/p/weh653kiosmodes/source/browse/trunk/OEMTitleBarHandler/OEMTitleBarHandler/FullScreen.cs

  • 首先隐藏任务栏

  • 使用不带标题栏的表单(无标题栏)

  • 查询系统屏幕尺寸

  • 调整大小并移动表单以填充屏幕尺寸或尝试使用Form.WindowState = Maximized。

答案 1 :(得分:0)