如何在Windows CE上的任务栏上触发自动隐藏

时间:2010-03-10 11:03:43

标签: c# animation windows-ce taskbar

我正在为Windowsce 5.0设备(PSION Teklogix Workabout Pro G2)编写C#程序。

任务栏设置为自动隐藏。 我无法完全禁用它,因为用户有时需要访问开始菜单或者可能想要手动显示或隐藏SIP。它不应该一直显示,因为我想尽可能多地使用小显示器。

我的问题是:当屏幕底部的任务栏最小化并且用户点击其上的某个位置(而不是startmenu按钮)时,它将滑入并正确显示。 但是如果用户没有激活startmenu(通过点击windows-Logo),任务栏将不会再次滑出,除非startmenu被打开一次。

是否有类似事件的东西,我可以发送到任务栏,所以它再次隐藏,而用户没有开始访问startmenu?

1 个答案:

答案 0 :(得分:0)

我过去这样做的方式假设你的意思是vanilla ce(标准shell)就是抓住HHTaskBar的句柄并简单地隐藏它;)

我也禁用了SipWndClass(以防键盘处于打开状态)。

其中iEnabled = true(输入全屏)或false显示HHTaskBar: -

        HWND hWndToHide = FindWindow(_T("HHTaskBar"), NULL);
        if(hWndToHide) {
            if(iEnabled) {
                    // Disable VanillaCE TaskBar
                if(IsWindowVisible(hWndToHide))
                    ShowWindow(hWndToHide, SW_HIDE);            

                    // Disable SIPWnd (On Screen Keyboard).
                hWndToHide = FindWindow(_T("SipWndClass"), NULL);
                if(hWndToHide && IsWindowVisible(hWndToHide))
                    ShowWindow(hWndToHide, SW_HIDE);            
            }
            else {
                    // Enable VanillaCE TaskBar
                if(!IsWindowVisible(hWndToHide))
                    ShowWindow(hWndToHide, SW_SHOW); 
            }               
        }   

将其转换为.NET应该不会太难;)