Vb.net 如何隐藏Windows CE任务栏并全屏显示程序窗口?
我正在Windows CE移动设备上使用VB.Net。我试图在“全屏”(即覆盖整个屏幕,甚至任务栏顶部)显示我的表单,同时不允许移动/拖动表单。到目前为止,我只实现了以下两个目标之一:Vb.net 如何隐藏Windows CE任务栏并全屏显示程序窗口?,vb.net,compact-framework,windows-ce,Vb.net,Compact Framework,Windows Ce,我正在Windows CE移动设备上使用VB.Net。我试图在“全屏”(即覆盖整个屏幕,甚至任务栏顶部)显示我的表单,同时不允许移动/拖动表单。到目前为止,我只实现了以下两个目标之一: 使窗体全屏显示,但用户可以拖动它。我只需将表单的高度和宽度设置为屏幕的高度和宽度即可 禁用拖动(通过将WindowsState设置为“最大化”),但任务栏可见并已启用 禁用拖动(再次使用Maximized),隐藏任务栏(通过从coredll中使用ShowWindow),但窗口在底部被切断——任务栏应该在的区域,
- 使窗体全屏显示,但用户可以拖动它。我只需将表单的高度和宽度设置为屏幕的高度和宽度即可
- 禁用拖动(通过将WindowsState设置为“最大化”),但任务栏可见并已启用
- 禁用拖动(再次使用Maximized),隐藏任务栏(通过从coredll中使用ShowWindow),但窗口在底部被切断——任务栏应该在的区域,在那里它现在显示一个空白区域,而不是我想要的表单的其余部分
' this code is from the main form's load event
CDevice.HideTaskBar(Me)
Me.AutoScroll = False
Me.WindowState = FormWindowState.Maximized
以下是HideTaskBar的定义(来自上面的代码):
Try:SetWindowPos(taskhWin,0,0,0,0,0,SWP_HIDEWINDOW)代码>
另请参见:尽管WindowsCE(您有什么版本?)的行为有点不同,但请看这里:
虽然我是用C语言编写的,但你应该能够把它翻译成VB。请参见此处的代码:
- 首先隐藏任务栏
- 使用不带标题栏(无标题栏)的表单
- 查询系统屏幕尺寸
- 调整表单大小并移动表单以填充屏幕尺寸,或尝试使用表单。WindowsState=最大化
谢谢,但它不太管用。它隐藏了任务栏,但它仍然显示空白空间,而不允许我的程序窗口填满整个屏幕。您还需要使用SHFullScreen()
。请参阅我链接到的文章。
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