Files
Program-Manager-II/progmgr/registry.h
Brady McDermott b679f71607 let's go gambling
2024-10-21 18:34:06 -06:00

57 lines
1.8 KiB
C

/* * * * * * * *\
REGISTRY.H -
Copyright (c) 2024 Vortesys, Brady McDermott
DESCRIPTION -
Program Manager's header file for registry related functions.
LICENSE INFORMATION -
MIT License, see LICENSE.txt in the root folder
\* * * * * * * */
/* Pragmas */
#pragma once
/* Defines */
#define HKEYMAXLEN 261
// Key Paths
#define WINLOGON_KEY TEXT("Software\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon")
// #define PROGMAN_KEY TEXT("Software\\Microsoft\\Windows NT\\CurrentVersion\\Program Manager")
// #define WINDOWS_KEY TEXT("Software\\Microsoft\\Windows NT\\CurrentVersion\\Windows")
#define PROGMGR_KEY TEXT("Software\\Vortesys\\Program Manager II")
// Registry configuration error values (DWORD)
#define RCE_SUCCESS 0x0000000
#define RCE_FAILURE 0x0000001
#define RCE_SETTINGS 0x0000002
#define RCE_POSITION 0x0000004
#define RCE_GROUPS 0x0000008
// Settings values (DWORD)
#define PMS_AUTOARRANGE 0x00000001
#define PMS_MINONRUN 0x00000002
#define PMS_TOPMOST 0x00000004
#define PMS_SHOWUSERNAME 0x00000008
#define PMS_SAVESETTINGS 0x00000010
/* Global Variables */
// HKEYs
extern HKEY hKeyProgramManager;
extern HKEY hkeyProgramGroups;
extern HKEY hKeySettings;
// Settings
extern BOOL bAutoArrange;
extern BOOL bMinOnRun;
extern BOOL bTopMost;
extern BOOL bShowUsername;
extern BOOL bSaveSettings;
extern RECT rcMainWindow;
/* Function Prototypes */
BOOL InitializeRegistryKeys(VOID);
BOOL IsProgMgrDefaultShell(VOID);
// Groups
DWORD RegistrySaveGroup(_In_ PGROUP pg);
DWORD RegistryRemoveGroup(_In_ PGROUP pg);
// Settings
DWORD SaveConfig(_In_ BOOL bSettings, _In_ BOOL bPos, _In_ BOOL bGroups, _In_ BOOL bExit);
DWORD LoadConfig(_In_ BOOL bSettings, _In_ BOOL bPos, _In_ BOOL bGroups);
// Miscellaneous
BOOL CALLBACK SaveWindowEnumProc(HWND hWndGroup, LPARAM lParam);