- unregister task manager window at termination
Modified: trunk/reactos/subsys/system/explorer/Makefile
Modified: trunk/reactos/subsys/system/explorer/doc/TODO.txt
Modified: trunk/reactos/subsys/system/explorer/explorer.cpp
Modified: trunk/reactos/subsys/system/explorer/taskbar/taskbar.cpp
_____
Modified: trunk/reactos/subsys/system/explorer/Makefile
--- trunk/reactos/subsys/system/explorer/Makefile 2005-03-19
09:37:24 UTC (rev 14189)
+++ trunk/reactos/subsys/system/explorer/Makefile 2005-03-19
09:37:46 UTC (rev 14190)
@@ -25,8 +25,8 @@
TARGET_RCFLAGS := -D__USE_W32API -DWIN32 -D_ROS_ -D__WINDRES__
TARGET_SDKLIBS := \
- gdi32.a comctl32.a ole32.a oleaut32.a shell32.a expat.a \
- notifyhook.a ws2_32.a msimg32.a user32.a
+ gdi32.a user32.a comctl32.a ole32.a oleaut32.a shell32.a expat.a
\
+ notifyhook.a ws2_32.a msimg32.a
TARGET_GCCLIBS := stdc++ uuid
_____
Modified: trunk/reactos/subsys/system/explorer/doc/TODO.txt
--- trunk/reactos/subsys/system/explorer/doc/TODO.txt 2005-03-19
09:37:24 UTC (rev 14189)
+++ trunk/reactos/subsys/system/explorer/doc/TODO.txt 2005-03-19
09:37:46 UTC (rev 14190)
@@ -28,3 +28,9 @@
- Search Programs -> performance monitor.msv -> Abort
+
+<Nonvo> Martin, I would have a whish concerning explorer: I often want
to start a program and give it some parameters. So nice featue: "Start
with param..."
+<tinus_> Nonvo: shell extension
+<m-fuchs> tinus: we should think about installing some default shell
extensions
+<tinus_> m-fuchs: perhaps, but it'd be nice if they actually were shell
extensions
+
_____
Modified: trunk/reactos/subsys/system/explorer/explorer.cpp
--- trunk/reactos/subsys/system/explorer/explorer.cpp 2005-03-19
09:37:24 UTC (rev 14189)
+++ trunk/reactos/subsys/system/explorer/explorer.cpp 2005-03-19
09:37:46 UTC (rev 14190)
@@ -729,6 +729,14 @@
RegSetValueEx(hkey, TEXT("Shell"), 0,
REG_SZ, (LPBYTE)path, l*sizeof(TCHAR));
RegCloseKey(hkey);
}
+
+ if (!RegOpenKey(HKEY_CURRENT_USER,
TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon"),
&hkey)) {
+
+ ///@todo save previous shell application
in config file
+
+ RegSetValueEx(hkey, TEXT("Shell"), 0,
REG_SZ, (LPBYTE)TEXT(""), l*sizeof(TCHAR));
+ RegCloseKey(hkey);
+ }
}
HWND shellWindow = GetShellWindow();
_____
Modified: trunk/reactos/subsys/system/explorer/taskbar/taskbar.cpp
--- trunk/reactos/subsys/system/explorer/taskbar/taskbar.cpp
2005-03-19 09:37:24 UTC (rev 14189)
+++ trunk/reactos/subsys/system/explorer/taskbar/taskbar.cpp
2005-03-19 09:37:46 UTC (rev 14190)
@@ -32,6 +32,11 @@
#include "traynotify.h" // for NOTIFYAREA_WIDTH_DEF
+DynamicFct<BOOL (WINAPI*)(HWND hwnd)>
g_SetTaskmanWindow(TEXT("user32"), "SetTaskmanWindow");
+DynamicFct<BOOL (WINAPI*)(HWND hwnd)>
g_RegisterShellHookWindow(TEXT("user32"), "RegisterShellHookWindow");
+DynamicFct<BOOL (WINAPI*)(HWND hwnd)>
g_DeregisterShellHookWindow(TEXT("user32"),
"DeregisterShellHookWindow");
+
+
TaskBarEntry::TaskBarEntry()
{
_id = 0;
@@ -61,12 +66,13 @@
TaskBar::~TaskBar()
{
- DynamicFct<BOOL (WINAPI*)(HWND hwnd)>
DeregisterShellHookWindow(TEXT("user32"),
"DeregisterShellHookWindow");
-
- if (DeregisterShellHookWindow)
- (*DeregisterShellHookWindow)(_hwnd);
+ if (g_DeregisterShellHookWindow)
+ (*g_DeregisterShellHookWindow)(_hwnd);
else
KillTimer(_hwnd, 0);
+
+ if (g_SetTaskmanWindow)
+ (*g_SetTaskmanWindow)(0);
}
HWND TaskBar::Create(HWND hwndParent)
@@ -100,15 +106,13 @@
_next_id = IDC_FIRST_APP;
// register ourselved as task manager window to make the
following call to RegisterShellHookWindow working
- DynamicFct<BOOL (WINAPI*)(HWND hwnd)>
SetTaskmanWindow(TEXT("user32"), "SetTaskmanWindow");
- if (SetTaskmanWindow)
- (*SetTaskmanWindow)(_hwnd);
+ if (g_SetTaskmanWindow)
+ (*g_SetTaskmanWindow)(_hwnd);
- DynamicFct<BOOL (WINAPI*)(HWND hwnd)>
RegisterShellHookWindow(TEXT("user32"), "RegisterShellHookWindow");
- if (RegisterShellHookWindow) {
+ if (g_RegisterShellHookWindow) {
LOG(TEXT("Using shell hooks for notification of shell
events."));
- (*RegisterShellHookWindow)(_hwnd);
+ (*g_RegisterShellHookWindow)(_hwnd);
} else {
LOG(TEXT("Shell hooks not available."));
SetTimer(_hwnd, 0, 200, NULL);
@@ -139,23 +143,7 @@
break; // avoid displaying context menu for
application button _and_ desktop bar at the same time
goto def;}
-/*
-//#define PM_SHELLHOOK_NOTIFY (WM_APP+0x10)
- case PM_SHELLHOOK_NOTIFY: {
- int code = lparam;
-
- switch(code) {
- case HSHELL_WINDOWCREATED:
- case HSHELL_WINDOWDESTROYED:
- case HSHELL_WINDOWACTIVATED:
- case HSHELL_WINDOWREPLACED:
- Refresh();
- break;
- }
- Refresh();
- break;}
-*/
case PM_GET_LAST_ACTIVE:
return (LRESULT)(HWND)_last_foreground_wnd;
Show replies by date