-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathregistry.cpp
More file actions
124 lines (117 loc) · 3.67 KB
/
registry.cpp
File metadata and controls
124 lines (117 loc) · 3.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
/*
* Diablo Hacking Utility
*
* Copyright (C)1997 Trojan Consulting Ltd.
*
* andy@trojanco.demon.co.uk
*
* $Header: /diabhack/registry.cpp 1 2/03/99 21:21 Andy $
*/
#include "diabhack.h"
BOOL
LoadCurrentWindowPositions()
{
BOOL fReturn = FALSE;
HKEY hk;
if (hk = OpenRegistry()) {
DWORD dwType, dwSize;
dwSize = sizeof(DWORD);
RegQueryValueEx(hk, "MainX", NULL, &dwType,
(LPBYTE)&g_nMainX, &dwSize);
RegQueryValueEx(hk, "MainY", NULL, &dwType,
(LPBYTE)&g_nMainY, &dwSize);
RegQueryValueEx(hk, "MainWidth", NULL, &dwType,
(LPBYTE)&g_nMainCX, &dwSize);
RegQueryValueEx(hk, "MainHeight", NULL, &dwType,
(LPBYTE)&g_nMainCY, &dwSize);
RegQueryValueEx(hk, "LV0Width", NULL, &dwType,
(LPBYTE)&g_nLV0CX, &dwSize);
RegQueryValueEx(hk, "LV1Width", NULL, &dwType,
(LPBYTE)&g_nLV1CX, &dwSize);
RegQueryValueEx(hk, "LV2Width", NULL, &dwType,
(LPBYTE)&g_nLV2CX, &dwSize);
fReturn = TRUE;
RegCloseKey(hk);
}
return fReturn;
}
BOOL
SaveCurrentWindowPositions(HWND hwndMain, HWND hwndLV)
{
BOOL fReturn = FALSE;
HKEY hk;
if (hk = OpenRegistry()) {
RECT r;
if (GetWindowRect(hwndMain, &r)) {
g_nMainX = r.left;
g_nMainY = r.top;
g_nMainCX = r.right - r.left;
g_nMainCY = r.bottom - r.top;
RegSetValueEx(hk, "MainX", 0, REG_DWORD,
(CONST BYTE *)&g_nMainX, sizeof(DWORD));
RegSetValueEx(hk, "MainY", 0, REG_DWORD,
(CONST BYTE *)&g_nMainY, sizeof(DWORD));
RegSetValueEx(hk, "MainWidth", 0, REG_DWORD,
(CONST BYTE *)&g_nMainCX, sizeof(DWORD));
RegSetValueEx(hk, "MainHeight", 0, REG_DWORD,
(CONST BYTE *)&g_nMainCY, sizeof(DWORD));
}
g_nLV0CX = ListView_GetColumnWidth(hwndLV, 0);
g_nLV1CX = ListView_GetColumnWidth(hwndLV, 1);
g_nLV2CX = ListView_GetColumnWidth(hwndLV, 2);
RegSetValueEx(hk, "LV0Width", 0, REG_DWORD,
(CONST BYTE *)&g_nLV0CX, sizeof(DWORD));
RegSetValueEx(hk, "LV1Width", 0, REG_DWORD,
(CONST BYTE *)&g_nLV1CX, sizeof(DWORD));
RegSetValueEx(hk, "LV2Width", 0, REG_DWORD,
(CONST BYTE *)&g_nLV2CX, sizeof(DWORD));
fReturn = TRUE;
RegCloseKey(hk);
}
return fReturn;
}
BOOL
LoadNotifyFlags()
{
BOOL fReturn = FALSE;
HKEY hk;
if (hk = OpenRegistry()) {
DWORD dwType, dwSize;
dwSize = sizeof(DWORD);
RegQueryValueEx(hk, "DiabloNotRunningNotifyFlag", NULL, &dwType,
(LPBYTE)&g_dwDiabloNotRunningNotifyFlag, &dwSize);
RegQueryValueEx(hk, "WriteMemDangerousNotifyFlag", NULL, &dwType,
(LPBYTE)&g_dwDangerousCommandNotifyFlag, &dwSize);
fReturn = TRUE;
RegCloseKey(hk);
}
return fReturn;
}
BOOL
SaveNotifyFlags()
{
BOOL fReturn = FALSE;
HKEY hk;
if (hk = OpenRegistry()) {
RegSetValueEx(hk, "DiabloNotRunningNotifyFlag", 0, REG_DWORD,
(CONST BYTE *)&g_dwDiabloNotRunningNotifyFlag, sizeof(DWORD));
RegSetValueEx(hk, "WriteMemDangerousNotifyFlag", 0, REG_DWORD,
(CONST BYTE *)&g_dwDangerousCommandNotifyFlag, sizeof(DWORD));
fReturn = TRUE;
RegCloseKey(hk);
}
return fReturn;
}
HKEY
OpenRegistry()
{
HKEY hkReturn;
DWORD dwDisp;
if (RegCreateKeyEx(HKEY_CURRENT_USER,
"Software\\Trojan Consulting\\DiabHack", 0, NULL,
REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL,
&hkReturn, &dwDisp) == ERROR_SUCCESS) {
return hkReturn;
}
return NULL;
}