我在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
答案 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)
尝试:SetWindowPos(taskhWin, 0, 0, 0, 0, 0, SWP_HIDEWINDOW);