zoukankan      html  css  js  c++  java
  • windows mobile屏蔽“开始”菜单


    我的程序是一个WM全屏程序,开机时自动运行。我已经屏蔽了所有的PDA按键(除电源键),即用户不能退出我的程序。但当用户关机时(长按电源按键)会弹 出 “......,是否关机”那个对话框,而这个对话框会把“开始”菜单显示出来,用户如果点开始菜单里面任何一项,他就跳出我的程序了。

    我一直以为这个功能不能实现,不过某天我玩一个全屏RPG游戏时,发现我长按关机键后,再点那个“开始”没有反应,于是又想实现该功能。

    怎么让用户不能点击那个开始菜单?

    在MSDN的windows mobile版块: http://social.microsoft.com/Forums/zh-CN/1729/thread/3b2495d5-a4a5-43b8-9080-242e1e3514cc

    在CSDN的windows mobile版块: http://topic.csdn.net/u/20090702/11/e6417a27-30fe-469e-9977-bc219d028ff5.html

     我都问过该问题,而且查阅了很多中文,英文文档都找不到合适的解决方案,请园子里的牛人帮忙。

     再次表示赚意。

     最后,谢谢大家

    改----------------------------------------------------------------------------------------------------------------------------------------------

     通过CSDN上几位朋友的介绍,解决方法有以下两种:

     两种解决方法:
    1.如果你能截获到长按电源键消息,那么直接隐藏HHTaskBar就可以。

     [DllImport("coredll.dll")]
            
    public extern static IntPtr FindWindow(string lpClassName, string lpWindowName);

            [DllImport(
    "coredll.dll")]
            
    public extern static bool EnableWindow(IntPtr hwnd, bool bEnable);

            
    public static bool HideBar(bool enable)
            {
                IntPtr hwnd;
                hwnd 
    = FindWindow("HHTaskBar""");
                
    return EnableWindow(hwnd, enable);
            }
            
    public Form1()
            {
                InitializeComponent();
                HideBar(
    false);
            }

    2.服务程序截获用户点击start那个位置的消息,直接break,就会屏蔽掉。

    LRESULT WndProc(HWND hwnd,UINT nMessage,WPARAM wParam, LPARAM lParam)
    {
        
    switch(nMessage)
        {
        
    case WM_LBUTTONDOWN:
            MessageBox(NULL,_T(
    "小样的,休想逃跑"),_T("温馨提示"),MB_OK);
            
    return 0;
        }
        
    return DefWindowProc(hwnd,nMessage,wParam,lParam);
    }


    void CEvcDlg::OnButton1() 
    {
        HWND hwnd 
    = ::FindWindow(TEXT("HHTaskBar"),TEXT(""));
        
    if(hwnd != NULL)
        {
            SetWindowLong(hwnd,GWL_WNDPROC,(
    long)WndProc);

        }
    }
  • 相关阅读:
    .bash_profile与.bashrc和.profile的区分概念
    java创建文件和目录
    Win7设置wifi热点
    JAVA之File类创建对象构造函数传参数需要注意的几点
    linux 控制台使用技巧
    poj1426-Find The Multiple
    Ubuntu下安装Android SDK(图文教程)
    屏蔽EditText长按导致的弹出输入法的对话框
    ZJUT 1423 地下迷宫(期望DP&高斯消元)
    Hadoop之SequenceFile
  • 原文地址:https://www.cnblogs.com/yubaolee/p/1515373.html
Copyright © 2011-2022 走看看