[ros-diffs] [janderwald] 35051: - start implementing the alt-tab app switching dialog - requires WH_KEYBOARD_LL hook which is not yet ready - add missing resource constant

janderwald at svn.reactos.org janderwald at svn.reactos.org
Sun Aug 3 01:49:03 CEST 2008


Author: janderwald
Date: Sat Aug  2 18:49:02 2008
New Revision: 35051

URL: http://svn.reactos.org/svn/reactos?rev=35051&view=rev
Log:
- start implementing the alt-tab app switching dialog
- requires WH_KEYBOARD_LL hook which is not yet ready
- add missing resource constant

Added:
    trunk/reactos/subsystems/win32/csrss/win32csr/appswitch.c   (with props)
Modified:
    trunk/reactos/subsystems/win32/csrss/win32csr/dllmain.c
    trunk/reactos/subsystems/win32/csrss/win32csr/lang/bg-BG.rc
    trunk/reactos/subsystems/win32/csrss/win32csr/lang/de-DE.rc
    trunk/reactos/subsystems/win32/csrss/win32csr/lang/el-GR.rc
    trunk/reactos/subsystems/win32/csrss/win32csr/lang/en-US.rc
    trunk/reactos/subsystems/win32/csrss/win32csr/lang/es-ES.rc
    trunk/reactos/subsystems/win32/csrss/win32csr/lang/fr-FR.rc
    trunk/reactos/subsystems/win32/csrss/win32csr/lang/id-ID.rc
    trunk/reactos/subsystems/win32/csrss/win32csr/lang/it-IT.rc
    trunk/reactos/subsystems/win32/csrss/win32csr/lang/pl-PL.rc
    trunk/reactos/subsystems/win32/csrss/win32csr/lang/ru-RU.rc
    trunk/reactos/subsystems/win32/csrss/win32csr/lang/sk-SK.rc
    trunk/reactos/subsystems/win32/csrss/win32csr/lang/uk-UA.rc
    trunk/reactos/subsystems/win32/csrss/win32csr/resource.h
    trunk/reactos/subsystems/win32/csrss/win32csr/win32csr.rbuild

Added: trunk/reactos/subsystems/win32/csrss/win32csr/appswitch.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/csrss/win32csr/appswitch.c?rev=35051&view=auto
==============================================================================
--- trunk/reactos/subsystems/win32/csrss/win32csr/appswitch.c (added)
+++ trunk/reactos/subsystems/win32/csrss/win32csr/appswitch.c [iso-8859-1] Sat Aug  2 18:49:02 2008
@@ -1,0 +1,255 @@
+#include "w32csr.h"
+
+typedef struct APPSWITCH_ITEM
+{
+    HWND hwndDlg;
+    DWORD zPos;
+    HICON hIcon;
+    BOOL bFocus;
+    struct APPSWITCH_ITEM * Next;
+    WCHAR szText[1];
+}APPSWITCH_ITEM, *PAPPSWITCH_ITEM;
+
+static PAPPSWITCH_ITEM pRoot = NULL;
+static DWORD NumOfWindows = 0;
+static HWND hAppWindowDlg = NULL;
+static HHOOK hhk = NULL;
+
+BOOL
+CALLBACK 
+EnumWindowEnumProc(
+    HWND hwnd,
+    LPARAM lParam
+)
+{
+    PAPPSWITCH_ITEM pItem;
+    UINT Length;
+    HICON hIcon;
+    PAPPSWITCH_ITEM pCurItem;
+    DWORD dwPid;
+    HANDLE hProcess;
+    WCHAR szFileName[MAX_PATH] = {0};
+
+    /* check if the enumerated window is visible */
+    if (!IsWindowVisible(hwnd))
+        return TRUE;
+    /* get window icon */
+    hIcon = (HICON)SendMessage(hwnd, WM_GETICON, ICON_BIG, 0);
+    if (!hIcon)
+    {
+       GetWindowThreadProcessId(hwnd, &dwPid);
+       hProcess = OpenProcess(PROCESS_QUERY_INFORMATION|PROCESS_VM_READ, FALSE, dwPid);
+       if (hProcess)
+       {
+           if (GetModuleFileNameExW(hProcess, NULL, szFileName, MAX_PATH))
+           {
+               szFileName[MAX_PATH-1] = L'\0';
+               ExtractIconExW(szFileName, 0, &hIcon, NULL, 1);
+           }
+       }
+    }
+    else
+    {
+       /* icons from WM_GETICON need to be copied */
+       hIcon = CopyIcon(hIcon);
+    }
+    /* get the text length */
+    Length = SendMessageW(hwnd, WM_GETTEXTLENGTH, 0, 0);
+    /* allocate item structure for it */
+    pItem = (PAPPSWITCH_ITEM)HeapAlloc(Win32CsrApiHeap, HEAP_ZERO_MEMORY, sizeof(APPSWITCH_ITEM) + Length * sizeof(WCHAR));
+    if (!pItem)
+        return TRUE;
+    if (Length)
+    {
+        /* retrieve the window text when available */
+        SendMessageW(hwnd, WM_GETTEXT, Length+1, (LPARAM)pItem->szText);
+    }
+    /* copy the window icon */
+    pItem->hIcon = hIcon;
+    /* store window handle */
+    pItem->hwndDlg = hwnd;
+    /* is the window the active window */
+    if (GetActiveWindow() == hwnd)
+        pItem->bFocus = TRUE;
+
+    if (!pRoot)
+    {
+       /* first item */
+       pRoot = pItem;
+       return TRUE;
+    }
+
+    /* enumerate the last item */
+    pCurItem = pRoot;
+    while(pCurItem->Next)
+        pCurItem = pCurItem->Next;
+
+    /* insert it into the list */
+    pCurItem->Next = pItem;
+    NumOfWindows++;
+    return TRUE;
+}
+
+VOID
+EnumerateAppWindows(HDESK hDesk, HWND hwndDlg)
+{
+   /* initialize defaults */
+   pRoot = NULL;
+   NumOfWindows = 0;
+   hAppWindowDlg = hwndDlg;
+   /* enumerate all windows */
+   EnumDesktopWindows(hDesk, EnumWindowEnumProc, (LPARAM)NULL);
+   if (NumOfWindows > 7)
+   {
+       /* FIXME resize window */
+   }
+}
+
+VOID
+MarkNextEntryAsActive()
+{
+    PAPPSWITCH_ITEM pItem;
+
+    pItem = pRoot;
+    if (!pRoot)
+       return;
+
+    while(pItem)
+    {
+        if (pItem->bFocus)
+        {
+            pItem->bFocus = FALSE;
+            if (pItem->Next)
+                pItem->Next->bFocus = TRUE;
+            else
+                pRoot->bFocus = TRUE;
+        }
+        pItem = pItem->Next;
+    }
+
+    InvalidateRgn(hAppWindowDlg, NULL, TRUE);
+}
+
+
+LRESULT
+CALLBACK
+KeyboardHookProc(
+    int nCode,
+    WPARAM wParam,
+    LPARAM lParam
+)
+{
+   PKBDLLHOOKSTRUCT hk = (PKBDLLHOOKSTRUCT) lParam;
+
+   if (wParam == WM_SYSKEYUP)
+   {
+       /* is tab key pressed */
+       if (hk->vkCode == VK_TAB)
+       {
+          if (hAppWindowDlg == NULL)
+          {
+              /* FIXME 
+               * launch window
+               */
+             DPRINT1("launch alt-tab window\n");
+          }
+          else
+          {
+              MarkNextEntryAsActive();
+          }
+       }
+   }
+   return CallNextHookEx(hhk, nCode, wParam, lParam);
+}
+
+VOID
+PaintAppWindows(HWND hwndDlg, HDC hDc)
+{
+   DWORD dwIndex, X, Y;
+   PAPPSWITCH_ITEM pCurItem;
+   RECT Rect;
+   DWORD XSize, YSize, XMax;
+   HBRUSH hBrush;
+
+   X = 10;
+   Y = 10;
+   XSize = GetSystemMetrics(SM_CXICON);
+   YSize = GetSystemMetrics(SM_CYICON);
+   XMax = (XSize+(XSize/2)) * 7 + X;
+   pCurItem = pRoot;
+
+   for (dwIndex = 0; dwIndex < NumOfWindows; dwIndex++)
+   {
+       if (X >= XMax)
+       {
+           X = 10;
+           Y += YSize + (YSize/2);
+       }
+       if (pCurItem->bFocus)
+       {
+            hBrush = CreateSolidBrush(RGB(30, 30, 255));
+            SetRect(&Rect, X-5, Y-5, X + XSize + 5, Y + YSize + 5);
+            FillRect(hDc, &Rect, hBrush);
+            DeleteObject((HGDIOBJ)hBrush);
+            SendDlgItemMessageW(hwndDlg, IDC_STATIC_CUR_APP, WM_SETTEXT, 0, (LPARAM)pCurItem->szText);
+       }
+
+       DrawIcon(hDc, X, Y, pCurItem->hIcon);
+       pCurItem = pCurItem->Next;
+       X += XSize +(XSize/2);
+   }
+}
+VOID
+DestroyAppWindows()
+{
+   PAPPSWITCH_ITEM pCurItem, pNextItem;
+
+   pCurItem = pRoot;
+   while(pCurItem)
+   {
+       pNextItem = pCurItem->Next;
+       DestroyIcon(pCurItem->hIcon);
+       HeapFree(Win32CsrApiHeap, 0, pCurItem);
+       pCurItem = pNextItem;
+   }
+   pRoot = NULL;
+   hAppWindowDlg = NULL;
+   NumOfWindows = 0;
+}
+
+INT_PTR
+CALLBACK
+SwitchWindowDlgProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM lParam)
+{
+    PAINTSTRUCT Paint;
+    HDESK hInput;
+
+    switch (message)
+    {
+    case WM_INITDIALOG:
+        hInput =  OpenInputDesktop(0,0, GENERIC_ALL);
+        if (hInput)
+        {
+            EnumerateAppWindows(hInput, hwndDlg);
+            CloseDesktop(hInput);
+        }
+        return TRUE;
+    case WM_PAINT:
+        BeginPaint(hwndDlg, &Paint);
+        PaintAppWindows(hwndDlg, Paint.hdc);
+        EndPaint(hwndDlg, &Paint);
+        break;
+    case WM_DESTROY:
+        DestroyAppWindows();
+        break;
+    }
+    return FALSE;
+}
+
+VOID
+STDCALL
+InitializeAppSwitchHook()
+{
+    hhk = SetWindowsHookEx(WH_KEYBOARD_LL, KeyboardHookProc, NULL, 0);
+    DPRINT("InitializeAppSwitchHook hhk %p\n", hhk);
+}

Propchange: trunk/reactos/subsystems/win32/csrss/win32csr/appswitch.c
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: trunk/reactos/subsystems/win32/csrss/win32csr/dllmain.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/csrss/win32csr/dllmain.c?rev=35051&r1=35050&r2=35051&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/csrss/win32csr/dllmain.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/csrss/win32csr/dllmain.c [iso-8859-1] Sat Aug  2 18:49:02 2008
@@ -16,6 +16,7 @@
 /* Not defined in any header file */
 extern VOID STDCALL PrivateCsrssManualGuiCheck(LONG Check);
 extern VOID STDCALL PrivateCsrssInitialized();
+extern VOID STDCALL InitializeAppSwitchHook();
 
 /* GLOBALS *******************************************************************/
 
@@ -95,6 +96,7 @@
   if (DLL_PROCESS_ATTACH == dwReason)
     {
       Win32CsrDllHandle = hDll;
+      InitializeAppSwitchHook();
     }
 
   return TRUE;

Modified: trunk/reactos/subsystems/win32/csrss/win32csr/lang/bg-BG.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/csrss/win32csr/lang/bg-BG.rc?rev=35051&r1=35050&r2=35051&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/csrss/win32csr/lang/bg-BG.rc [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/csrss/win32csr/lang/bg-BG.rc [iso-8859-1] Sat Aug  2 18:49:02 2008
@@ -33,6 +33,14 @@
                     IDC_STATIC,7,53,178,26
 END
 
+IDD_SWITCH_APP DIALOGEX 90, 90, 265, 170
+STYLE DS_SYSMODAL | DS_SETFONT | DS_SETFOREGROUND | DS_3DLOOK | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE
+EXSTYLE WS_EX_TOPMOST | WS_EX_WINDOWEDGE
+FONT 8, "MS Shell Dlg", 400, 0, 0x1
+BEGIN
+    LTEXT           "",IDC_STATIC_CUR_APP,39,139,204,16,SS_SUNKEN,WS_EX_STATICEDGE
+END
+
 STRINGTABLE
 BEGIN
   IDS_EDIT "Îáðàáîòêà"

Modified: trunk/reactos/subsystems/win32/csrss/win32csr/lang/de-DE.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/csrss/win32csr/lang/de-DE.rc?rev=35051&r1=35050&r2=35051&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/csrss/win32csr/lang/de-DE.rc [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/csrss/win32csr/lang/de-DE.rc [iso-8859-1] Sat Aug  2 18:49:02 2008
@@ -27,6 +27,14 @@
                     IDC_STATIC,7,53,178,26
 END
 
+IDD_SWITCH_APP DIALOGEX 90, 90, 265, 170
+STYLE DS_SYSMODAL | DS_SETFONT | DS_SETFOREGROUND | DS_3DLOOK | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE
+EXSTYLE WS_EX_TOPMOST | WS_EX_WINDOWEDGE
+FONT 8, "MS Shell Dlg", 400, 0, 0x1
+BEGIN
+    LTEXT           "",IDC_STATIC_CUR_APP,39,139,204,16,SS_SUNKEN,WS_EX_STATICEDGE
+END
+
 STRINGTABLE
 BEGIN
   IDS_EDIT "Bearbeiten"

Modified: trunk/reactos/subsystems/win32/csrss/win32csr/lang/el-GR.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/csrss/win32csr/lang/el-GR.rc?rev=35051&r1=35050&r2=35051&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/csrss/win32csr/lang/el-GR.rc [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/csrss/win32csr/lang/el-GR.rc [iso-8859-1] Sat Aug  2 18:49:02 2008
@@ -27,6 +27,14 @@
                     IDC_STATIC,7,53,178,26
 END
 
+IDD_SWITCH_APP DIALOGEX 90, 90, 265, 170
+STYLE DS_SYSMODAL | DS_SETFONT | DS_SETFOREGROUND | DS_3DLOOK | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE
+EXSTYLE WS_EX_TOPMOST | WS_EX_WINDOWEDGE
+FONT 8, "MS Shell Dlg", 400, 0, 0x1
+BEGIN
+    LTEXT           "",IDC_STATIC_CUR_APP,39,139,204,16,SS_SUNKEN,WS_EX_STATICEDGE
+END
+
 STRINGTABLE
 BEGIN
   IDS_EDIT "Åðåîåñãáóßá"

Modified: trunk/reactos/subsystems/win32/csrss/win32csr/lang/en-US.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/csrss/win32csr/lang/en-US.rc?rev=35051&r1=35050&r2=35051&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/csrss/win32csr/lang/en-US.rc [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/csrss/win32csr/lang/en-US.rc [iso-8859-1] Sat Aug  2 18:49:02 2008
@@ -27,6 +27,14 @@
                     IDC_STATIC,7,53,178,26
 END
 
+IDD_SWITCH_APP DIALOGEX 90, 90, 265, 170
+STYLE DS_SYSMODAL | DS_SETFONT | DS_SETFOREGROUND | DS_3DLOOK | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE
+EXSTYLE WS_EX_TOPMOST | WS_EX_WINDOWEDGE
+FONT 8, "MS Shell Dlg", 400, 0, 0x1
+BEGIN
+    LTEXT           "",IDC_STATIC_CUR_APP,39,139,204,16,SS_SUNKEN,WS_EX_STATICEDGE
+END
+
 STRINGTABLE
 BEGIN
   IDS_EDIT "Edit"

Modified: trunk/reactos/subsystems/win32/csrss/win32csr/lang/es-ES.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/csrss/win32csr/lang/es-ES.rc?rev=35051&r1=35050&r2=35051&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/csrss/win32csr/lang/es-ES.rc [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/csrss/win32csr/lang/es-ES.rc [iso-8859-1] Sat Aug  2 18:49:02 2008
@@ -32,6 +32,14 @@
                     IDC_STATIC,7,53,178,26
 END
 
+IDD_SWITCH_APP DIALOGEX 90, 90, 265, 170
+STYLE DS_SYSMODAL | DS_SETFONT | DS_SETFOREGROUND | DS_3DLOOK | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE
+EXSTYLE WS_EX_TOPMOST | WS_EX_WINDOWEDGE
+FONT 8, "MS Shell Dlg", 400, 0, 0x1
+BEGIN
+    LTEXT           "",IDC_STATIC_CUR_APP,39,139,204,16,SS_SUNKEN,WS_EX_STATICEDGE
+END
+
 STRINGTABLE
 BEGIN
   IDS_EDIT "Editar"

Modified: trunk/reactos/subsystems/win32/csrss/win32csr/lang/fr-FR.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/csrss/win32csr/lang/fr-FR.rc?rev=35051&r1=35050&r2=35051&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/csrss/win32csr/lang/fr-FR.rc [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/csrss/win32csr/lang/fr-FR.rc [iso-8859-1] Sat Aug  2 18:49:02 2008
@@ -27,6 +27,14 @@
                     IDC_STATIC,7,53,178,26
 END
 
+IDD_SWITCH_APP DIALOGEX 90, 90, 265, 170
+STYLE DS_SYSMODAL | DS_SETFONT | DS_SETFOREGROUND | DS_3DLOOK | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE
+EXSTYLE WS_EX_TOPMOST | WS_EX_WINDOWEDGE
+FONT 8, "MS Shell Dlg", 400, 0, 0x1
+BEGIN
+    LTEXT           "",IDC_STATIC_CUR_APP,39,139,204,16,SS_SUNKEN,WS_EX_STATICEDGE
+END
+
 /* Fixme : Translation could be really improved, with context
            La traduction pourrait réellement être améliorée grâce au contexte */
 STRINGTABLE

Modified: trunk/reactos/subsystems/win32/csrss/win32csr/lang/id-ID.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/csrss/win32csr/lang/id-ID.rc?rev=35051&r1=35050&r2=35051&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/csrss/win32csr/lang/id-ID.rc [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/csrss/win32csr/lang/id-ID.rc [iso-8859-1] Sat Aug  2 18:49:02 2008
@@ -27,6 +27,14 @@
                     IDC_STATIC,7,53,178,26
 END
 
+IDD_SWITCH_APP DIALOGEX 90, 90, 265, 170
+STYLE DS_SYSMODAL | DS_SETFONT | DS_SETFOREGROUND | DS_3DLOOK | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE
+EXSTYLE WS_EX_TOPMOST | WS_EX_WINDOWEDGE
+FONT 8, "MS Shell Dlg", 400, 0, 0x1
+BEGIN
+    LTEXT           "",IDC_STATIC_CUR_APP,39,139,204,16,SS_SUNKEN,WS_EX_STATICEDGE
+END
+
 STRINGTABLE
 BEGIN
   IDS_EDIT "Edit"

Modified: trunk/reactos/subsystems/win32/csrss/win32csr/lang/it-IT.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/csrss/win32csr/lang/it-IT.rc?rev=35051&r1=35050&r2=35051&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/csrss/win32csr/lang/it-IT.rc [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/csrss/win32csr/lang/it-IT.rc [iso-8859-1] Sat Aug  2 18:49:02 2008
@@ -36,6 +36,14 @@
                     IDC_STATIC,7,53,178,26
 END
 
+IDD_SWITCH_APP DIALOGEX 90, 90, 265, 170
+STYLE DS_SYSMODAL | DS_SETFONT | DS_SETFOREGROUND | DS_3DLOOK | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE
+EXSTYLE WS_EX_TOPMOST | WS_EX_WINDOWEDGE
+FONT 8, "MS Shell Dlg", 400, 0, 0x1
+BEGIN
+    LTEXT           "",IDC_STATIC_CUR_APP,39,139,204,16,SS_SUNKEN,WS_EX_STATICEDGE
+END
+
 STRINGTABLE
 BEGIN
   IDS_EDIT "Modifica"

Modified: trunk/reactos/subsystems/win32/csrss/win32csr/lang/pl-PL.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/csrss/win32csr/lang/pl-PL.rc?rev=35051&r1=35050&r2=35051&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/csrss/win32csr/lang/pl-PL.rc [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/csrss/win32csr/lang/pl-PL.rc [iso-8859-1] Sat Aug  2 18:49:02 2008
@@ -32,6 +32,14 @@
                     IDC_STATIC,7,53,178,26
 END
 
+IDD_SWITCH_APP DIALOGEX 90, 90, 265, 170
+STYLE DS_SYSMODAL | DS_SETFONT | DS_SETFOREGROUND | DS_3DLOOK | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE
+EXSTYLE WS_EX_TOPMOST | WS_EX_WINDOWEDGE
+FONT 8, "MS Shell Dlg", 400, 0, 0x1
+BEGIN
+    LTEXT           "",IDC_STATIC_CUR_APP,39,139,204,16,SS_SUNKEN,WS_EX_STATICEDGE
+END
+
 STRINGTABLE
 BEGIN
   IDS_EDIT "Edytuj"

Modified: trunk/reactos/subsystems/win32/csrss/win32csr/lang/ru-RU.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/csrss/win32csr/lang/ru-RU.rc?rev=35051&r1=35050&r2=35051&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/csrss/win32csr/lang/ru-RU.rc [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/csrss/win32csr/lang/ru-RU.rc [iso-8859-1] Sat Aug  2 18:49:02 2008
@@ -27,6 +27,14 @@
                     IDC_STATIC,7,53,178,26
 END
 
+IDD_SWITCH_APP DIALOGEX 90, 90, 265, 170
+STYLE DS_SYSMODAL | DS_SETFONT | DS_SETFOREGROUND | DS_3DLOOK | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE
+EXSTYLE WS_EX_TOPMOST | WS_EX_WINDOWEDGE
+FONT 8, "MS Shell Dlg", 400, 0, 0x1
+BEGIN
+    LTEXT           "",IDC_STATIC_CUR_APP,39,139,204,16,SS_SUNKEN,WS_EX_STATICEDGE
+END
+
 STRINGTABLE
 BEGIN
   IDS_EDIT "Èçìåíèòü"

Modified: trunk/reactos/subsystems/win32/csrss/win32csr/lang/sk-SK.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/csrss/win32csr/lang/sk-SK.rc?rev=35051&r1=35050&r2=35051&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/csrss/win32csr/lang/sk-SK.rc [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/csrss/win32csr/lang/sk-SK.rc [iso-8859-1] Sat Aug  2 18:49:02 2008
@@ -31,6 +31,14 @@
                     IDC_STATIC,7,53,178,26
 END
 
+IDD_SWITCH_APP DIALOGEX 90, 90, 265, 170
+STYLE DS_SYSMODAL | DS_SETFONT | DS_SETFOREGROUND | DS_3DLOOK | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE
+EXSTYLE WS_EX_TOPMOST | WS_EX_WINDOWEDGE
+FONT 8, "MS Shell Dlg", 400, 0, 0x1
+BEGIN
+    LTEXT           "",IDC_STATIC_CUR_APP,39,139,204,16,SS_SUNKEN,WS_EX_STATICEDGE
+END
+
 STRINGTABLE
 BEGIN
   IDS_EDIT "Upravi"

Modified: trunk/reactos/subsystems/win32/csrss/win32csr/lang/uk-UA.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/csrss/win32csr/lang/uk-UA.rc?rev=35051&r1=35050&r2=35051&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/csrss/win32csr/lang/uk-UA.rc [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/csrss/win32csr/lang/uk-UA.rc [iso-8859-1] Sat Aug  2 18:49:02 2008
@@ -35,6 +35,14 @@
                     IDC_STATIC,7,53,178,26
 END
 
+IDD_SWITCH_APP DIALOGEX 90, 90, 265, 170
+STYLE DS_SYSMODAL | DS_SETFONT | DS_SETFOREGROUND | DS_3DLOOK | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE
+EXSTYLE WS_EX_TOPMOST | WS_EX_WINDOWEDGE
+FONT 8, "MS Shell Dlg", 400, 0, 0x1
+BEGIN
+    LTEXT           "",IDC_STATIC_CUR_APP,39,139,204,16,SS_SUNKEN,WS_EX_STATICEDGE
+END
+
 STRINGTABLE
 BEGIN
   IDS_EDIT "Ðåäàãóâàòè"

Modified: trunk/reactos/subsystems/win32/csrss/win32csr/resource.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/csrss/win32csr/resource.h?rev=35051&r1=35050&r2=35051&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/csrss/win32csr/resource.h [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/csrss/win32csr/resource.h [iso-8859-1] Sat Aug  2 18:49:02 2008
@@ -10,10 +10,14 @@
 #define WIN32CSR_RESOURCE_H_INCLUDED
 
 #define IDD_END_NOW  10
+#define IDD_NOT_RESPONDING 11
+#define IDD_SWITCH_APP 12
 
 #define IDC_STATIC   100
 #define IDC_PROGRESS 101
 #define IDC_END_NOW  102
+#define IDC_STATIC_CUR_APP 103
+
 
 #define ID_SYSTEM_EDIT_MARK 1001
 #define ID_SYSTEM_EDIT_COPY 1002

Modified: trunk/reactos/subsystems/win32/csrss/win32csr/win32csr.rbuild
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/csrss/win32csr/win32csr.rbuild?rev=35051&r1=35050&r2=35051&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/csrss/win32csr/win32csr.rbuild [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/csrss/win32csr/win32csr.rbuild [iso-8859-1] Sat Aug  2 18:49:02 2008
@@ -16,6 +16,8 @@
 	<library>advapi32</library>
 	<library>psapi</library>
 	<library>msvcrt</library>
+	<library>psapi</library>
+	<library>shell32</library>
 	<pch>w32csr.h</pch>
 	<file>alias.c</file>
 	<file>conio.c</file>
@@ -24,5 +26,6 @@
 	<file>exitros.c</file>
 	<file>guiconsole.c</file>
 	<file>tuiconsole.c</file>
+	<file>appswitch.c</file>
 	<file>win32csr.rc</file>
 </module>



More information about the Ros-diffs mailing list