如何在Windows Mobile 6.1中禁用开始菜单

时间:2010-09-20 08:02:28

标签: .net vb.net windows-ce

如何禁用开始菜单!或者完全关闭Windows Windows Mobile 6.1中的整个“资源管理器”,这样用户就无法退出我的程序。

我已尝试http://pastebin.com/yz6WN6xa,但随后Windows Mobile 6.1挂起。

3 个答案:

答案 0 :(得分:1)

我自己发现了它!

Public Class TaskBoard
<DllImport("coredll.dll")> _
Public Shared Function FindWindow(ByVal lpClassName As String, ByVal lpWindowName As String) As IntPtr
End Function

<DllImport("coredll.dll")> _
Public Shared Function ShowWindow(ByVal hWnd As IntPtr, ByVal visible As Integer) As IntPtr
End Function

结束班

然后我按如下方式调用该类:

TaskBoard.ShowWindow(TaskBoard.FindWindow("HHTaskBar", Nothing), 0)

答案 1 :(得分:0)

我认为您最接近的是设置ControlBox = false且没有菜单,即您的表单中的Menu = null。这取决于您的客户端运行的版本..这将对Windows CE 6.5产生更大的影响。

Form.ControlBox停用“X”按钮并让null Form.Menu使您的应用程序“全屏”,因为没有按钮会显示。

答案 2 :(得分:0)

以下将在应用程序运行时暂时隐藏启动按钮,请注意,如果应用程序崩溃,您需要确保将HardwareStartKeyEnabled标志设置回0。

static class Program
{
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [MTAThread]
    static void Main()
    {
        Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Shell\BubbleTiles",true).SetValue("HardwareStartKeyEnabled",1);
        Application.Run(new Form1());
        Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Shell\BubbleTiles",true).SetValue("HardwareStartKeyEnabled", 0);
    }
}