ReactOS 0.4.16-dev-41-ge8c7597
main.h
Go to the documentation of this file.
1/*
2 * Regedit definitions
3 *
4 * Copyright (C) 2002 Robert Dickenson <robd@reactos.org>
5 * LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
6 */
7
8#pragma once
9
10#include "resource.h"
11
12
13#define STATUS_WINDOW 2001
14#define TREE_WINDOW 2002
15#define LIST_WINDOW 2003
16
17#define SPLIT_WIDTH 5
18#define SPLIT_MIN 30
19
20#define ARRAY_SIZE(A) (sizeof(A)/sizeof(*A))
21
22#define PM_MODIFYVALUE 0
23#define PM_NEW 1
24#define PM_TREECONTEXT 2
25#define PM_ROOTITEM 3
26#define PM_HEXEDIT 4
27
28#define MAX_NEW_KEY_LEN 128
29#define KEY_MAX_LEN 1024
30
31#define REG_FORMAT_5 1
32#define REG_FORMAT_4 2
33
34/******************************************************************************/
35
37{
45};
46
47typedef struct
48{
55 int nFocusPanel; /* 0: left 1: right */
59} ChildWnd;
60extern ChildWnd* g_pChildWnd;
61
62/*******************************************************************************
63 * Global Variables:
64 */
65extern HINSTANCE hInst;
66extern HWND hFrameWnd;
67extern HMENU hMenuFrame;
68extern HWND hStatusBar;
69extern HMENU hPopupMenus;
70extern HFONT hFont;
71extern enum OPTION_FLAGS Options;
72
73extern WCHAR szTitle[];
74extern WCHAR szFrameClass[];
75extern WCHAR szChildClass[];
76
77extern const WCHAR g_szGeneralRegKey[];
78extern const WCHAR* reg_class_namesW[];
79
80/* about.c */
82
83/* childwnd.c */
85void ResizeWnd(int cx, int cy);
87VOID UpdateAddress(HTREEITEM hItem, HKEY hRootKey, LPCWSTR pszPath, BOOL bSelectNone);
88
89/* edit.c */
90BOOL ModifyValue(HWND hwnd, HKEY hKey, LPCWSTR valueName, BOOL EditBin);
91BOOL DeleteKey(HWND hwnd, HKEY hKeyRoot, LPCWSTR keyPath);
92LONG RenameKey(HKEY hKey, LPCWSTR lpSubKey, LPCWSTR lpNewName);
93LONG RenameValue(HKEY hKey, LPCWSTR lpSubKey, LPCWSTR lpDestValue, LPCWSTR lpSrcValue);
94LONG QueryStringValue(HKEY hKey, LPCWSTR lpSubKey, LPCWSTR lpValueName, LPWSTR pszBuffer, DWORD dwBufferLen);
95BOOL GetKeyName(LPWSTR pszDest, size_t iDestLength, HKEY hRootKey, LPCWSTR lpSubKey);
96
97/* error.c */
98int ErrorMessageBox(HWND hWnd, LPCWSTR lpTitle, DWORD dwErrorCode, ...);
99int InfoMessageBox(HWND hWnd, UINT uType, LPCWSTR lpTitle, LPCWSTR lpMessage, ...);
100
101/* find.c */
102void FindDialog(HWND hWnd);
105
106/* framewnd.c */
108void SetupStatusBar(HWND hWnd, BOOL bResize);
109void UpdateStatusBar(void);
110BOOL CopyKeyName(HWND hWnd, HKEY hRootKey, LPCWSTR keyName);
112
113/* listview.c */
115BOOL RefreshListView(HWND hwndLV, HKEY hKey, LPCWSTR keyPath, BOOL bSelectNone);
116WCHAR *GetValueName(HWND hwndLV, int iStartAt);
119BOOL IsDefaultValue(HWND hwndLV, int i);
120
121/* regedit.c */
122void WINAPIV output_message(unsigned int id, ...);
123void WINAPIV error_exit(unsigned int id, ...);
124
125/* regproc.c */
126char *GetMultiByteString(const WCHAR *strW);
128void delete_registry_key(WCHAR *reg_key_name);
130
131/* security.c */
132BOOL RegKeyEditPermissions(HWND hWndOwner, HKEY hKey, LPCWSTR lpMachine, LPCWSTR lpKeyName);
133
134/* settings.c */
135void LoadSettings(void);
136void SaveSettings(void);
137
138/* treeview.c */
143LPCWSTR GetItemPath(HWND hwndTV, HTREEITEM hItem, HKEY* phRootKey);
146HWND StartKeyRename(HWND hwndTV);
148BOOL SelectNode(HWND hwndTV, LPCWSTR keyPath);
149void DestroyTreeView(HWND hwndTV);
150void DestroyListView(HWND hwndLV);
151void DestroyMainMenu(void);
152
153/* txtproc.c */
155
156/* EOF */
HWND hWnd
Definition: settings.c:17
BOOL CopyKeyName(HWND hWnd, HKEY hRootKey, LPCWSTR keyName)
Definition: framewnd.c:885
void SetupStatusBar(HWND hWnd, BOOL bResize)
Definition: framewnd.c:153
BOOL IsDefaultValue(HWND hwndLV, int i)
Definition: listview.c:95
HFONT hFont
Definition: main.c:53
BOOL DeleteNode(HWND hwndTV, HTREEITEM hItem)
Definition: treeview.c:99
HWND CreateTreeView(HWND hwndParent, LPWSTR pHostName, HMENU id)
Definition: treeview.c:733
BOOL import_registry_file(FILE *reg_file)
Definition: regproc.c:1041
void DestroyTreeView(HWND hwndTV)
Definition: treeview.c:755
BOOL RefreshTreeItem(HWND hwndTV, HTREEITEM hItem)
Definition: treeview.c:133
void FindNextMessageBox(HWND hWnd)
Definition: find.c:799
int InfoMessageBox(HWND hWnd, UINT uType, LPCWSTR lpTitle, LPCWSTR lpMessage,...)
Definition: error.c:38
enum OPTION_FLAGS Options
Definition: setupldr.c:335
BOOL OnTreeExpanding(HWND hWnd, NMTREEVIEW *pnmtv)
Definition: treeview.c:496
HMENU hPopupMenus
Definition: main.c:25
LRESULT CALLBACK FrameWndProc(HWND, UINT, WPARAM, LPARAM)
Definition: framewnd.c:1440
void DestroyMainMenu(void)
Definition: main.c:139
BOOL ModifyValue(HWND hwnd, HKEY hKey, LPCWSTR valueName, BOOL EditBin)
Definition: edit.c:1522
BOOL SelectNode(HWND hwndTV, LPCWSTR keyPath)
Definition: treeview.c:766
BOOL DeleteKey(HWND hwnd, HKEY hKeyRoot, LPCWSTR keyPath)
Definition: edit.c:1938
HINSTANCE hInst
Definition: dxdiag.c:13
WCHAR szFrameClass[]
Definition: main.c:31
int ErrorMessageBox(HWND hWnd, LPCWSTR lpTitle, DWORD dwErrorCode,...)
Definition: error.c:11
ChildWnd * g_pChildWnd
Definition: childwnd.c:13
BOOL RefreshListView(HWND hwndLV, HKEY hKey, LPCWSTR keyPath, BOOL bSelectNone)
Definition: listview.c:657
BOOL TreeWndNotifyProc(HWND hWnd, WPARAM wParam, LPARAM lParam, BOOL *Result)
Definition: treeview.c:622
const WCHAR * reg_class_namesW[]
Definition: main.c:12
LPCWSTR get_root_key_name(HKEY hRootKey)
Definition: childwnd.c:76
HWND hFrameWnd
Definition: main.c:22
LPCWSTR GetItemPath(HWND hwndTV, HTREEITEM hItem, HKEY *phRootKey)
Definition: treeview.c:73
const WCHAR g_szGeneralRegKey[]
Definition: settings.c:16
BOOL ListWndNotifyProc(HWND hWnd, WPARAM wParam, LPARAM lParam, BOOL *Result)
Definition: listview.c:531
void SaveSettings(void)
Definition: settings.c:115
BOOL ExportRegistryFile(HWND hWnd)
Definition: framewnd.c:585
void UpdateStatusBar(void)
Definition: solitaire.cpp:150
HWND StartKeyRename(HWND hwndTV)
Definition: treeview.c:380
VOID UpdateAddress(HTREEITEM hItem, HKEY hRootKey, LPCWSTR pszPath, BOOL bSelectNone)
Definition: childwnd.c:300
HMENU hMenuFrame
Definition: main.c:24
void WINAPIV output_message(unsigned int id,...)
Definition: reg.c:92
HWND CreateListView(HWND hwndParent, HMENU id, INT cx)
Definition: listview.c:618
LONG RenameValue(HKEY hKey, LPCWSTR lpSubKey, LPCWSTR lpDestValue, LPCWSTR lpSrcValue)
Definition: edit.c:2006
WCHAR szChildClass[]
Definition: main.c:32
BOOL RegKeyEditPermissions(HWND hWndOwner, HKEY hKey, LPCWSTR lpMachine, LPCWSTR lpKeyName)
Definition: security.c:793
void FindDialog(HWND hWnd)
Definition: find.c:811
HTREEITEM InsertNode(HWND hwndTV, HTREEITEM hItem, LPWSTR name)
Definition: treeview.c:328
LONG RenameKey(HKEY hKey, LPCWSTR lpSubKey, LPCWSTR lpNewName)
Definition: edit.c:1971
char * GetMultiByteString(const WCHAR *strW)
Definition: regproc.c:73
BOOL FindNext(HWND hWnd)
Definition: find.c:609
void ShowAboutBox(HWND hWnd)
Definition: about.c:12
void WINAPIV error_exit(unsigned int id,...)
Definition: regedit.c:88
LONG QueryStringValue(HKEY hKey, LPCWSTR lpSubKey, LPCWSTR lpValueName, LPWSTR pszBuffer, DWORD dwBufferLen)
Definition: edit.c:2038
WCHAR szTitle[]
Definition: magnifier.c:35
LRESULT CALLBACK ChildWndProc(HWND, UINT, WPARAM, LPARAM)
Definition: childwnd.c:366
BOOL RefreshTreeView(HWND hWndTV)
Definition: treeview.c:303
WCHAR * GetValueName(HWND hwndLV, int iStartAt)
Definition: listview.c:42
void LoadSettings(void)
Definition: settings.c:53
void DestroyListView(HWND hwndLV)
Definition: listview.c:641
BOOL GetKeyName(LPWSTR pszDest, size_t iDestLength, HKEY hRootKey, LPCWSTR lpSubKey)
Definition: edit.c:2072
HWND hStatusBar
Definition: main.c:23
BOOL export_registry_key(WCHAR *file_name, WCHAR *path, DWORD format)
Definition: regproc.c:1566
void delete_registry_key(WCHAR *reg_key_name)
Definition: regproc.c:1089
BOOL CreateNewKey(HWND hwndTV, HTREEITEM hItem)
Definition: treeview.c:563
BOOL txt_export_registry_key(LPCWSTR file_name, LPCWSTR path)
Definition: txtproc.c:401
void ResizeWnd(int cx, int cy)
Definition: childwnd.c:95
OPTION_FLAGS
Definition: main.h:37
@ OPTIONS_VIEW_DATA_ONLY
Definition: main.h:44
@ OPTIONS_DISPLAY_BINARY_DATA
Definition: main.h:42
@ OPTIONS_AUTO_REFRESH
Definition: main.h:38
@ OPTIONS_CONFIRM_ON_DELETE
Definition: main.h:40
@ OPTIONS_READ_ONLY_MODE
Definition: main.h:39
@ OPTIONS_VIEW_TREE_ONLY
Definition: main.h:43
@ OPTIONS_SAVE_ON_EXIT
Definition: main.h:41
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
static HWND hwndParent
Definition: cryptui.c:300
TCHAR lpTitle[80]
Definition: ctm.c:69
#define MAX_PATH
Definition: compat.h:34
#define CALLBACK
Definition: compat.h:35
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
FxAutoRegKey hKey
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
Definition: gl.h:1546
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
LPCWSTR szPath
Definition: env.c:37
static HICON
Definition: imagelist.c:80
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:63
static LPCWSTR file_name
Definition: protocol.c:147
WCHAR strW[12]
Definition: clipboard.c:2029
unsigned int UINT
Definition: ndis.h:50
long LONG
Definition: pedump.c:60
_Out_opt_ int _Out_opt_ int * cy
Definition: commctrl.h:586
_Out_opt_ int * cx
Definition: commctrl.h:585
#define NMTREEVIEW
Definition: commctrl.h:3647
#define WINAPIV
Definition: sdbpapi.h:64
Definition: main.h:48
int nSplitPos
Definition: main.h:56
HWND hAddressBtnWnd
Definition: main.h:53
int nFocusPanel
Definition: main.h:55
WINDOWPLACEMENT pos
Definition: main.h:57
HICON hArrowIcon
Definition: main.h:54
HWND hTreeWnd
Definition: main.h:50
HWND hListWnd
Definition: main.h:51
HWND hAddressBarWnd
Definition: main.h:52
HWND hWnd
Definition: main.h:49
Definition: name.c:39
int32_t INT
Definition: typedefs.h:58
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023
LONG_PTR LPARAM
Definition: windef.h:208
LONG_PTR LRESULT
Definition: windef.h:209
UINT_PTR WPARAM
Definition: windef.h:207
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
Definition: wsk.h:409
__wchar_t WCHAR
Definition: xmlstorage.h:180
WCHAR * LPWSTR
Definition: xmlstorage.h:184
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185