From ac9931e8b56dc2a016ca617a34d5cd71e3d74501 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A9=20van=20Geldorp?= Date: Mon, 19 Jan 2004 20:14:28 +0000 Subject: [PATCH] Icon for console windows svn path=/trunk/; revision=7774 --- reactos/subsys/csrss/include/win32csr.h | 3 ++- reactos/subsys/csrss/win32csr/dllmain.c | 8 +++++++- reactos/subsys/csrss/win32csr/guiconsole.c | 18 ++++++++++++------ .../subsys/csrss/win32csr/res/terminal.ico | Bin 0 -> 4710 bytes reactos/subsys/csrss/win32csr/win32csr.rc | 2 ++ 5 files changed, 23 insertions(+), 8 deletions(-) create mode 100644 reactos/subsys/csrss/win32csr/res/terminal.ico diff --git a/reactos/subsys/csrss/include/win32csr.h b/reactos/subsys/csrss/include/win32csr.h index efb827d6825..85500878d4f 100644 --- a/reactos/subsys/csrss/include/win32csr.h +++ b/reactos/subsys/csrss/include/win32csr.h @@ -1,4 +1,4 @@ -/* $Id: win32csr.h,v 1.2 2004/01/11 17:31:15 gvg Exp $ +/* $Id: win32csr.h,v 1.3 2004/01/19 20:14:28 gvg Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS system libraries @@ -13,6 +13,7 @@ #include extern HANDLE Win32CsrApiHeap; +extern HINSTANCE Win32CsrDllHandle; NTSTATUS FASTCALL Win32CsrInsertObject(PCSRSS_PROCESS_DATA ProcessData, PHANDLE Handle, diff --git a/reactos/subsys/csrss/win32csr/dllmain.c b/reactos/subsys/csrss/win32csr/dllmain.c index ad55275a052..4113359244d 100644 --- a/reactos/subsys/csrss/win32csr/dllmain.c +++ b/reactos/subsys/csrss/win32csr/dllmain.c @@ -1,4 +1,4 @@ -/* $Id: dllmain.c,v 1.3 2004/01/11 17:31:16 gvg Exp $ +/* $Id: dllmain.c,v 1.4 2004/01/19 20:14:28 gvg Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS system libraries @@ -23,6 +23,7 @@ extern VOID STDCALL PrivateCsrssManualGuiCheck(LONG Check); /* GLOBALS *******************************************************************/ HANDLE Win32CsrApiHeap; +HINSTANCE Win32CsrDllHandle; static CSRSS_EXPORTED_FUNCS CsrExports; static CSRSS_API_DEFINITION Win32CsrApiDefinitions[] = @@ -77,6 +78,11 @@ DllMain(HANDLE hDll, DWORD dwReason, LPVOID lpReserved) { + if (DLL_PROCESS_ATTACH == dwReason) + { + Win32CsrDllHandle = hDll; + } + return TRUE; } diff --git a/reactos/subsys/csrss/win32csr/guiconsole.c b/reactos/subsys/csrss/win32csr/guiconsole.c index 11924238d07..42480b6d5e8 100644 --- a/reactos/subsys/csrss/win32csr/guiconsole.c +++ b/reactos/subsys/csrss/win32csr/guiconsole.c @@ -1,4 +1,4 @@ -/* $Id: guiconsole.c,v 1.7 2004/01/11 17:31:16 gvg Exp $ +/* $Id: guiconsole.c,v 1.8 2004/01/19 20:14:28 gvg Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS system libraries @@ -682,7 +682,7 @@ GuiInit(VOID) { HDESK Desktop; NTSTATUS Status; - WNDCLASSW wc; + WNDCLASSEXW wc; Desktop = OpenDesktopW(L"Default", 0, FALSE, GENERIC_ALL); if (NULL == Desktop) @@ -705,6 +705,7 @@ GuiInit(VOID) return FALSE; } + wc.cbSize = sizeof(WNDCLASSEXW); wc.lpszClassName = L"Win32CsrCreateNotify"; wc.lpfnWndProc = GuiConsoleNotifyWndProc; wc.style = 0; @@ -715,23 +716,28 @@ GuiInit(VOID) wc.lpszMenuName = NULL; wc.cbClsExtra = 0; wc.cbWndExtra = 0; - if (RegisterClassW(&wc) == 0) + wc.hIconSm = NULL; + if (RegisterClassExW(&wc) == 0) { DPRINT1("Failed to register notify wndproc\n"); return FALSE; } + wc.cbSize = sizeof(WNDCLASSEXW); wc.lpszClassName = L"Win32CsrConsole"; wc.lpfnWndProc = GuiConsoleWndProc; wc.style = 0; wc.hInstance = (HINSTANCE) GetModuleHandleW(NULL); - wc.hIcon = LoadIconW(NULL, (LPCWSTR) IDI_APPLICATION); - wc.hCursor = LoadCursorW(NULL, (LPCWSTR) IDC_ARROW); + wc.hIcon = LoadIconW(Win32CsrDllHandle, MAKEINTRESOURCEW(1)); + wc.hCursor = LoadCursorW(NULL, MAKEINTRESOURCEW(IDC_ARROW)); wc.hbrBackground = NULL; wc.lpszMenuName = NULL; wc.cbClsExtra = 0; wc.cbWndExtra = 0; - if (RegisterClassW(&wc) == 0) + wc.hIconSm = LoadImageW(Win32CsrDllHandle, MAKEINTRESOURCEW(1), IMAGE_ICON, + GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), + LR_SHARED); + if (RegisterClassExW(&wc) == 0) { DPRINT1("Failed to register console wndproc\n"); return FALSE; diff --git a/reactos/subsys/csrss/win32csr/res/terminal.ico b/reactos/subsys/csrss/win32csr/res/terminal.ico new file mode 100644 index 0000000000000000000000000000000000000000..d420bc6f6f897f0447912636112800d35bc4e651 GIT binary patch literal 4710 zcmeH}v2No=5J1N{2Xqm@@)w+8TyX$_H2VW7jI^oDPgtbnr6D^}mD#D@KL`x{fg62* ze!+c^!f+#!qC{@qEGbz&+#x{XAXj*(x8%<3&J33$E=5k{R4y+kqVmUgB0qDUOosl) z6OkX^33j!L{C*~qoT`23|N6a1|AWX!x|i@1s6UkgUtg92BbK5VPPAM?AdRoc9^WaTYV=2@BNx2edSDBd@XFPnK;OBA|uKj&AL4gK3J%XA8-vZP-`Tp?+i zo|h^8Y*b`X9_;C0&mx(sJ&RP4>i9GDS4bA2N~1{L5B?-Y6QvW$gFnF(rD-H`9_%71 z185{~CXr8teA4U_^9TEHxc?Ml=8eW{#`sw_Em_3d=|Pce{H(0^1E$U7#NQsw*9sdXq{{6U&6l5 zmt22Y3W^#FbsbK$T>hgvkIK9(DbRDR&1PP_AD&q;4aF2aooh`*5q)Y!w4Y_sg#Iw@ z={(nh&5Jw_il_5Z%X$8E<{R(l4Tb+w{>@)a=e~R&oCW8_>B|_}V@YKN4lEeZKf7O{ z2L~1mFi^Zh4-PCCV6u3N9voOOfJ5;HJvgvnfFR+WvZ8fh!2p2?y&}vCmn){P7`j5u z$Q62UV8H+i@<9&{EEr%A`Je{}77Q?ve9(gf3kGmTWb_;kEEpgF`Je#@77P%Se9(gf z3kFC86MAr9!2lidK@Scr7+?VTpa%yQ3^0j&(1RWp4B&`-$POG>Fo1LNK@Scr7$6|| zpa%yQ43Gp<(1QaD2Dl&}^x(jP0gU8>K4gNP!vGV=hm`^c77XBoe9(gf3kGmZKIp-L z1p@>lAN1hBf&mi16?$-B!2k{Upbx8pp0gep$cHeXWvL~o<;Gz0K@VCUS_=BuaiEV< zADccReH^;E?#?>JU%|k!^4Bz-`~sK-JO)|le~50=H^DOudn6m>Pjvyh>IM*TffcgE~)qX zot~3{Bx#b3Cfvv2K4dLxm1DT1#bUSHh98$**Y#Z$*Ik%jt9ciM5r_`x7o_mn{9weopMS6uKqKr$-TSVpM*mH( z_Wg)(*{ePHUx?JcA4hcRnaPOGAN{k#90rVL7DoM(AM>&MzU%)Cb3?;)-!p%>KkNi& zab}vJ##m^6>%;tRx9D~=gk|6eziy0=|D^rUw8OoJ^%<6NSFJ<*wKUsJCG~bY<2Y)D z{KNeEL)FY$J)WD{TE_g7*}BmOHvY!*ZY_HMI=^cZ9`E6&SIMlC!A{}Cp=Mq-aW&X` z&R-L)FTbd%HZ8cLM$4~?8^Wuwn&F9j-VD}nr(OQ<-*dxv%8M^b{kjBJiT66YBD{U4 zynUy7LyetGJ4T_X)&3-!$NcIQ(-H~R1?&@ZH2?6yG`-6rlkY5TBgv!QwV z*xCPdd+R#iR@i5}w8L)c)!xb0ce8ESUo2CcN$y&v$in^|ejt@Adjk{1?A`DQ5rx literal 0 HcmV?d00001 diff --git a/reactos/subsys/csrss/win32csr/win32csr.rc b/reactos/subsys/csrss/win32csr/win32csr.rc index d3b20607bad..c09f8e2ad45 100644 --- a/reactos/subsys/csrss/win32csr/win32csr.rc +++ b/reactos/subsys/csrss/win32csr/win32csr.rc @@ -36,3 +36,5 @@ BEGIN VALUE "Translation", 0x409, 1200 END END + +1 ICON DISCARDABLE res/terminal.ico