Index: base/applications/fontview/fontview.c =================================================================== --- base/applications/fontview/fontview.c (revision 59200) +++ base/applications/fontview/fontview.c (working copy) @@ -94,7 +94,17 @@ HINSTANCE hDLL; PGFRI GetFontResourceInfoW; LPCWSTR fileName; + + switch (GetUserDefaultUILanguage()) + { + case MAKELANGID(LANG_HEBREW, SUBLANG_DEFAULT): + SetProcessDefaultLayout(LAYOUT_RTL); + break; + default: + break; + } + g_hInstance = hThisInstance; /* Get unicode command line */ Index: base/applications/fontview/fontview.h =================================================================== --- base/applications/fontview/fontview.h (revision 59200) +++ base/applications/fontview/fontview.h (working copy) @@ -1,6 +1,7 @@ #include #include #include +#include #include #include "resource.h" Index: base/applications/kbswitch/kbswitch.c =================================================================== --- base/applications/kbswitch/kbswitch.c (revision 59200) +++ base/applications/kbswitch/kbswitch.c (working copy) @@ -516,6 +516,17 @@ { WNDCLASS WndClass = {0}; MSG msg; + + switch (GetUserDefaultUILanguage()) + { + case MAKELANGID(LANG_HEBREW, SUBLANG_DEFAULT): + SetProcessDefaultLayout(LAYOUT_RTL); + break; + + default: + break; + } + HANDLE hMutex; hMutex = CreateMutex(NULL, FALSE, szKbSwitcherName); Index: base/applications/magnify/magnifier.c =================================================================== --- base/applications/magnify/magnifier.c (revision 59200) +++ base/applications/magnify/magnifier.c (working copy) @@ -45,7 +45,17 @@ // TODO: Place code here. MSG msg; HACCEL hAccelTable; + + switch (GetUserDefaultUILanguage()) + { + case MAKELANGID(LANG_HEBREW, SUBLANG_DEFAULT): + SetProcessDefaultLayout(LAYOUT_RTL); + break; + default: + break; + } + UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(lpCmdLine); @@ -170,7 +180,7 @@ HDC HdcStrech; HANDLE hOld; HBITMAP HbmpStrech; - + RECT R; RECT appRect; DWORD rop = SRCCOPY; @@ -202,7 +212,7 @@ /* Select our bitmap in memory DC and save the old one.*/ hOld = SelectObject (HdcStrech , HbmpStrech); - + /* Paint the screen bitmap to our in memory DC */ BitBlt( HdcStrech, @@ -214,7 +224,7 @@ 0, 0, SRCCOPY); - + /* Draw the mouse pointer in the right position */ DrawIcon( HdcStrech , @@ -271,8 +281,9 @@ blitAreaY, blitAreaWidth, blitAreaHeight, - rop); - + rop | NOMIRRORBITMAP); + + /* Cleanup.*/ if (iinfo.hbmMask) DeleteObject(iinfo.hbmMask); Index: base/applications/magnify/magnifier.h =================================================================== --- base/applications/magnify/magnifier.h (revision 59200) +++ base/applications/magnify/magnifier.h (working copy) @@ -25,6 +25,7 @@ #include #include #include +#include //test #include "resource.h" Index: base/applications/mscutils/devmgmt/devmgmt.c =================================================================== --- base/applications/mscutils/devmgmt/devmgmt.c (revision 59200) +++ base/applications/mscutils/devmgmt/devmgmt.c (working copy) @@ -34,7 +34,17 @@ } return 0; } + + switch (GetUserDefaultUILanguage()) + { + case MAKELANGID(LANG_HEBREW, SUBLANG_DEFAULT): + SetProcessDefaultLayout(LAYOUT_RTL); + break; + default: + break; + } + hInstance = hThisInstance; ProcessHeap = GetProcessHeap(); Index: base/applications/mscutils/devmgmt/precomp.h =================================================================== --- base/applications/mscutils/devmgmt/precomp.h (revision 59200) +++ base/applications/mscutils/devmgmt/precomp.h (working copy) @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include Index: base/applications/mscutils/servman/precomp.h =================================================================== --- base/applications/mscutils/servman/precomp.h (revision 59200) +++ base/applications/mscutils/servman/precomp.h (working copy) @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include /* GET_X/Y_LPARAM */ Index: base/applications/mscutils/servman/servman.c =================================================================== --- base/applications/mscutils/servman/servman.c (revision 59200) +++ base/applications/mscutils/servman/servman.c (working copy) @@ -8,7 +8,6 @@ */ #include "precomp.h" - HINSTANCE hInstance; HANDLE ProcessHeap; @@ -23,7 +22,17 @@ MSG Msg; int Ret = 1; INITCOMMONCONTROLSEX icex; + + switch (GetUserDefaultUILanguage()) + { + case MAKELANGID(LANG_HEBREW, SUBLANG_DEFAULT): + SetProcessDefaultLayout(LAYOUT_RTL); + break; + default: + break; + } + hInstance = hThisInstance; ProcessHeap = GetProcessHeap(); Index: base/applications/notepad/main.c =================================================================== --- base/applications/notepad/main.c (revision 59200) +++ base/applications/notepad/main.c (working copy) @@ -554,7 +554,17 @@ HMONITOR monitor; MONITORINFO info; INT x, y; + + switch (GetUserDefaultUILanguage()) + { + case MAKELANGID(LANG_HEBREW, SUBLANG_DEFAULT): + SetProcessDefaultLayout(LAYOUT_RTL); + break; + default: + break; + } + static const TCHAR className[] = _T("NPClass"); static const TCHAR winName[] = _T("Notepad"); Index: base/applications/rapps/winmain.c =================================================================== --- base/applications/rapps/winmain.c (revision 59200) +++ base/applications/rapps/winmain.c (working copy) @@ -763,7 +763,17 @@ WCHAR szErrorText[MAX_STR_LEN]; HANDLE hMutex = NULL; MSG Msg; + + switch (GetUserDefaultUILanguage()) + { + case MAKELANGID(LANG_HEBREW, SUBLANG_DEFAULT): + SetProcessDefaultLayout(LAYOUT_RTL); + break; + default: + break; + } + hInst = hInstance; if (!IsUserAnAdmin()) Index: base/applications/regedit/main.c =================================================================== --- base/applications/regedit/main.c (revision 59200) +++ base/applications/regedit/main.c (working copy) @@ -207,6 +207,16 @@ LoadStringW(hInstance, IDC_REGEDIT_FRAME, szFrameClass, MAX_LOADSTRING); LoadStringW(hInstance, IDC_REGEDIT, szChildClass, MAX_LOADSTRING); + + switch (GetUserDefaultUILanguage()) + { + case MAKELANGID(LANG_HEBREW, SUBLANG_DEFAULT): + SetProcessDefaultLayout(LAYOUT_RTL); + break; + + default: + break; + } /* Store instance handle in our global variable */ hInst = hInstance;