6 * Copyright (C) 2002 Robert Dickenson <robd@reactos.org>
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
23 #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
39 TCHAR ViewTypeMaskStr
[MAX_TYPE_MASK_LEN
];
40 //LPCTSTR lpViewTypeMaskStr;
43 void LoadSettings(void)
46 TCHAR szSubKey
[] = _T("Software\\ReactWare\\FileManager");
51 // Window size & position settings
52 TaskManagerSettings.Maximized = FALSE;
53 TaskManagerSettings.Left = 0;
54 TaskManagerSettings.Top = 0;
55 TaskManagerSettings.Right = 0;
56 TaskManagerSettings.Bottom = 0;
59 TaskManagerSettings.ActiveTabPage = 0;
61 // Options menu settings
62 TaskManagerSettings.AlwaysOnTop = FALSE;
63 TaskManagerSettings.MinimizeOnUse = TRUE;
64 TaskManagerSettings.HideWhenMinimized = TRUE;
65 TaskManagerSettings.Show16BitTasks = TRUE;
67 // Update speed settings
68 TaskManagerSettings.UpdateSpeed = 2;
70 // Applications page settings
71 TaskManagerSettings.View_LargeIcons = FALSE;
72 TaskManagerSettings.View_SmallIcons = FALSE;
73 TaskManagerSettings.View_Details = TRUE;
75 // Processes page settings
76 TaskManagerSettings.ShowProcessesFromAllUsers = FALSE; // Server-only?
77 TaskManagerSettings.Column_ImageName = TRUE;
78 TaskManagerSettings.Column_PID = TRUE;
79 TaskManagerSettings.Column_CPUUsage = TRUE;
80 TaskManagerSettings.Column_CPUTime = TRUE;
81 TaskManagerSettings.Column_MemoryUsage = TRUE;
82 TaskManagerSettings.Column_MemoryUsageDelta = FALSE;
83 TaskManagerSettings.Column_PeakMemoryUsage = FALSE;
84 TaskManagerSettings.Column_PageFaults = FALSE;
85 TaskManagerSettings.Column_USERObjects = FALSE;
86 TaskManagerSettings.Column_IOReads = FALSE;
87 TaskManagerSettings.Column_IOReadBytes = FALSE;
88 TaskManagerSettings.Column_SessionID = FALSE; // Server-only?
89 TaskManagerSettings.Column_UserName = FALSE; // Server-only?
90 TaskManagerSettings.Column_PageFaultsDelta = FALSE;
91 TaskManagerSettings.Column_VirtualMemorySize = FALSE;
92 TaskManagerSettings.Column_PagedPool = FALSE;
93 TaskManagerSettings.Column_NonPagedPool = FALSE;
94 TaskManagerSettings.Column_BasePriority = FALSE;
95 TaskManagerSettings.Column_HandleCount = FALSE;
96 TaskManagerSettings.Column_ThreadCount = FALSE;
97 TaskManagerSettings.Column_GDIObjects = FALSE;
98 TaskManagerSettings.Column_IOWrites = FALSE;
99 TaskManagerSettings.Column_IOWriteBytes = FALSE;
100 TaskManagerSettings.Column_IOOther = FALSE;
101 TaskManagerSettings.Column_IOOtherBytes = FALSE;
103 for (i = 0; i < 25; i++) {
104 TaskManagerSettings.ColumnOrderArray[i] = i;
106 TaskManagerSettings.ColumnSizeArray[0] = 105;
107 TaskManagerSettings.ColumnSizeArray[1] = 50;
108 TaskManagerSettings.ColumnSizeArray[2] = 107;
109 TaskManagerSettings.ColumnSizeArray[3] = 70;
110 TaskManagerSettings.ColumnSizeArray[4] = 35;
111 TaskManagerSettings.ColumnSizeArray[5] = 70;
112 TaskManagerSettings.ColumnSizeArray[6] = 70;
113 TaskManagerSettings.ColumnSizeArray[7] = 100;
114 TaskManagerSettings.ColumnSizeArray[8] = 70;
115 TaskManagerSettings.ColumnSizeArray[9] = 70;
116 TaskManagerSettings.ColumnSizeArray[10] = 70;
117 TaskManagerSettings.ColumnSizeArray[11] = 70;
118 TaskManagerSettings.ColumnSizeArray[12] = 70;
119 TaskManagerSettings.ColumnSizeArray[13] = 70;
120 TaskManagerSettings.ColumnSizeArray[14] = 60;
121 TaskManagerSettings.ColumnSizeArray[15] = 60;
122 TaskManagerSettings.ColumnSizeArray[16] = 60;
123 TaskManagerSettings.ColumnSizeArray[17] = 60;
124 TaskManagerSettings.ColumnSizeArray[18] = 60;
125 TaskManagerSettings.ColumnSizeArray[19] = 70;
126 TaskManagerSettings.ColumnSizeArray[20] = 70;
127 TaskManagerSettings.ColumnSizeArray[21] = 70;
128 TaskManagerSettings.ColumnSizeArray[22] = 70;
129 TaskManagerSettings.ColumnSizeArray[23] = 70;
130 TaskManagerSettings.ColumnSizeArray[24] = 70;
132 TaskManagerSettings.SortColumn = 1;
133 TaskManagerSettings.SortAscending = TRUE;
135 // Performance page settings
136 TaskManagerSettings.CPUHistory_OneGraphPerCPU = TRUE;
137 TaskManagerSettings.ShowKernelTimes = FALSE;
140 if (RegOpenKeyEx(HKEY_CURRENT_USER
, szSubKey
, 0, KEY_READ
, &hKey
) != ERROR_SUCCESS
)
143 // dwSize = sizeof(TASKMANAGER_SETTINGS);
144 // RegQueryValueEx(hKey, "Preferences", NULL, NULL, (LPBYTE)&TaskManagerSettings, &dwSize);
150 void SaveSettings(void)
153 TCHAR szSubKey1
[] = _T("Software");
154 TCHAR szSubKey2
[] = _T("Software\\ReactWare");
155 TCHAR szSubKey3
[] = _T("Software\\ReactWare\\FileManager");
157 // Open (or create) the key
159 RegCreateKeyEx(HKEY_CURRENT_USER
, szSubKey1
, 0, NULL
, REG_OPTION_NON_VOLATILE
, KEY_WRITE
, NULL
, &hKey
, NULL
);
162 RegCreateKeyEx(HKEY_CURRENT_USER
, szSubKey2
, 0, NULL
, REG_OPTION_NON_VOLATILE
, KEY_WRITE
, NULL
, &hKey
, NULL
);
165 if (RegCreateKeyEx(HKEY_CURRENT_USER
, szSubKey3
, 0, NULL
, REG_OPTION_NON_VOLATILE
, KEY_WRITE
, NULL
, &hKey
, NULL
) != ERROR_SUCCESS
)
168 // RegSetValueEx(hKey, "Preferences", 0, REG_BINARY, (LPBYTE)&TaskManagerSettings, sizeof(TASKMANAGER_SETTINGS));