2 * Copyright 2003 Martin Fuchs
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 // Explorer and Desktop clone
25 // Martin Fuchs, 22.08.2003
29 #define CLASSNAME_EXPLORERBAR _T("Shell_TrayWnd")
30 #define TITLE_EXPLORERBAR _T("") // use an empty window title, so windows taskmanager does not show the window in its application list
33 #define WINMSG_TASKBARCREATED _T("TaskbarCreated")
36 #define DESKTOPBARBAR_HEIGHT 29
39 #define IDC_START 0x1000
40 #define IDC_LOGOFF 0x1001
41 #define IDC_SHUTDOWN 0x1002
42 #define IDC_LAUNCH 0x1003
43 #define IDC_START_HELP 0x1004
44 #define IDC_SEARCH 0x1005
45 #define IDC_SEARCH_COMPUTER 0x1006
46 #define IDC_SETTINGS 0x1007
47 #define IDC_ADMIN 0x1008
48 #define IDC_DOCUMENTS 0x1009
49 #define IDC_RECENT 0x100A
50 #define IDC_FAVORITES 0x100B
51 #define IDC_PROGRAMS 0x100C
52 #define IDC_EXPLORE 0x100D
53 #define IDC_NETWORK 0x100E
54 #define IDC_CONNECTIONS 0x100F
55 #define IDC_DRIVES 0x1010
56 #define IDC_SETTINGS_WND 0x1011
57 #define IDC_PRINTERS 0x1012
59 #define IDC_FIRST_MENU 0x3000
62 /// desktop bar window, also known as "system tray"
63 struct DesktopBar : public OwnerDrawParent<Window>
65 typedef OwnerDrawParent<Window> super;
67 DesktopBar(HWND hwnd);
73 CommonControlInit _usingCmnCtrl;
75 int WM_TASKBARCREATED;
78 LRESULT Init(LPCREATESTRUCT pcs);
79 LRESULT WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam);
80 int Command(int id, int code);
82 void RegisterHotkeys();
83 void ProcessHotKey(int id_hotkey);
85 LRESULT ProcessCopyData(COPYDATASTRUCT* pcd);
87 WindowHandle _hwndTaskBar;
88 WindowHandle _hwndNotify;
89 WindowHandle _hwndQuickLaunch;