【问题标题】:How do I hide the Windows CE Taskbar and show a program window at full screen?如何隐藏 Windows CE 任务栏并全屏显示程序窗口?
【发布时间】:2014-10-28 06:42:21
【问题描述】:

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

  • 使表单处于全屏状态,但用户可以拖动它。我通过简单地将表单的高度和宽度设置为屏幕的高度和宽度来做到这一点。

  • 禁用拖动(通过将窗口状态设置为“最大化”),但任务栏可见并启用

  • 禁用拖动(再次使用最大化),隐藏任务栏(通过使用 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

【问题讨论】:

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


    【解决方案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。

    【讨论】:

      【解决方案2】:

      【讨论】:

      • 谢谢,但它并没有完全做到这一点。它隐藏了任务栏,但它仍然显示空白空间,而不是让我的程序窗口填满整个屏幕。
      • 您还需要使用SHFullScreen()。请参阅我链接到的文章。
      猜你喜欢
      • 2010-11-18
      • 2018-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-04
      • 2012-12-27
      • 2022-01-04
      相关资源
      最近更新 更多