Недокументированные трюки для Windows Mobile 6

Как обрабатывать End Key (Red H/W/ Key) для NOT OVERLAPPED окон (приложений на базе PropertySheet)

Если ваше окно не OVERLAPPED, то в него не будет приходить событие потери фокуса при нажатии на End Key. Чтобы исправить эту ситуацию, нужно создать OVERLAPPED окно с помощью ::SHCreateWorkerWindow() и передать его в качестве parent окна в ваше. Особенно полезно это при создании PropertySheet.

WINSHELLAPI HWND SHCreateWorkerWindow(TCHAR *pwszClass /* NULL accepted (preferred) */,
                   WNDPROC pfnWndProc, HWND hwndParent,
                   DWORD dwExStyle, DWORD dwFlags, TCHAR *pwszTitle,
                   HMENU hmenu, void * p);

m_hWndMain = ::SHCreateWorkerWindow(NULL,
    WorkerWindowProc,
    NULL,
    WS_EX_TOOLWINDOW,
    WS_POPUP,
    NULL,
    NULL,
    this);

 Как определить версию AKU

HKEY_LOCAL_MACHINE\System\Versions\AKU

Как скрыть SIP

SHMENUBARINFO mbi;
ZeroMemory(&mbi, sizeof(SHMENUBARINFO));
mbi.cbSize   = sizeof(SHMENUBARINFO);
mbi.hwndParent = hDlg;
mbi.dwFlags = SHCMBF_EMPTYBAR | SHCMBF_HIDESIPBUTTON;
::SHCreateMenuBar(&mbi);

Как сделать фичу SIP Auto-open

  1. последней строкой секции описания диалога в .rc файле добавить:
    CONTROL «»,-1,»SIPPREF»,NOT WS_VISIBLE,-10,-10,5,5
  2. Вызвать ::SHInitExtraControls() перед тем, как вам придет WM_INITDIALOG

 

Ваши комментарии:

также вы можете зарегистрироваться
Подпишитесь на новые записи моего блога:
Добавить в закладки: (в том числе и в Twitter)

Читайте также:

  • Что такое CellCore, RIL и WAP
  • Windows Mobile Power Manager
  • Error LNK2001: unresolved external symbol _CLSID_Application
  • Это смартфон или карманный ПК?
  • Как убрать анимацию при Tap-And-Hold