0

Windowsce 5.0 デバイス (PSION Teklogix Workabout Pro G2) 用の C# プログラムを作成しています。

タスクバーは自動非表示に設定されています。ユーザーがスタート メニューにアクセスする必要がある場合や、SIP を手動で表示または非表示にしたい場合があるため、完全に無効にすることはできません。また、小さいディスプレイをできるだけ多く使用したいので、常に表示する必要はありません。

私の問題は次のとおりです。タスクバーが画面の下部に最小化され、ユーザーがそのどこか (スタートメニューボタンではない) をクリックすると、タスクバーがスライドして正しく表示されます。しかし、ユーザーがスタート メニューを (Windows ロゴをクリックして) アクティブにしない場合、スタート メニューが一度開かれない限り、タスクバーは再びスライドアウトしません。

ユーザーが startmenu にアクセスし始めることなく、タスクバーに送信できるイベントなどがありますか?

4

1 に答える 1

0

あなたがバニラce(標準シェル)を意味すると仮定して、私が過去にこれを行った方法は、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 に変換するのはそれほど難しくありません ;)

于 2010-03-22T13:22:17.853 に答える