diff --git a/progmgr/progmgr.c b/progmgr/progmgr.c index 1c29619..0dd850a 100644 --- a/progmgr/progmgr.c +++ b/progmgr/progmgr.c @@ -32,6 +32,7 @@ HWND hWndProgMgr = NULL; HWND hWndMDIClient = NULL; /* Functions */ + /* * * *\ wWinMain - Program Manager's entry point. @@ -52,14 +53,11 @@ int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLi hAppInstance = hInstance; - // Create Important Strings - LoadString(hAppInstance, IDS_APPTITLE, szAppTitle, ARRAYSIZE(szAppTitle)); + // Create Strings LoadString(hAppInstance, IDS_PMCLASS, szClass, ARRAYSIZE(szClass)); + LoadString(hAppInstance, IDS_APPTITLE, szAppTitle, ARRAYSIZE(szAppTitle)); LoadString(hAppInstance, IDS_WEBSITE, szWebsite, ARRAYSIZE(szWebsite)); - // And add Task Manager... - // - // Register the Frame Window wc.lpfnWndProc = WndProc; wc.hInstance = hAppInstance; @@ -82,8 +80,8 @@ int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLi bIsDefaultShell = IsProgMgrDefaultShell(); - GetUserNameEx(NameSamCompatible, szUsername, &dwUsernameLen); - // OutputDebugString(szUsername); + // Add username to window title + GetUserNameEx(NameSamCompatible, szUsername, &dwUsernameLen);\ StringCchCopy(szWindowTitle, ARRAYSIZE(szAppTitle), szAppTitle); StringCchCat(szWindowTitle, ARRAYSIZE(szWindowTitle), L" - "); diff --git a/progmgr/registry.c b/progmgr/registry.c index 15d8e7d..d4354ae 100644 --- a/progmgr/registry.c +++ b/progmgr/registry.c @@ -14,7 +14,17 @@ #include #include +/* Variables */ +// Global HKEYs +HKEY hKeyProgramManager = NULL; +HKEY hKeyProgramGroups = NULL; +HKEY hKeySettings = NULL; +// Registry Subkeys +PWSTR szProgramGroups = L"Program Groups"; +PWSTR szSettings = L"Settings"; + /* Functions */ + /* * * *\ InitializeRegistryKeys - Takes the relevant Registry Keys and turns them @@ -24,10 +34,12 @@ \* * * */ BOOL InitializeRegistryKeys() { - HKEY hkeyProgramManager; - //HKEY hkeyPMSettings; - - if (!RegCreateKeyEx(HKEY_CURRENT_USER, PROGMGR_KEY, 0, 0, 0, KEY_READ | KEY_WRITE, NULL, &hkeyProgramManager, NULL)) { + if (!RegCreateKeyEx(HKEY_CURRENT_USER, PROGMGR_KEY, 0, szProgMgr, 0, KEY_READ | KEY_WRITE, NULL, &hKeyProgramManager, NULL)) { + RegCreateKeyEx(hKeyProgramManager, szProgramGroups, 0, szProgMgr, 0, + KEY_READ | KEY_WRITE, NULL, &hKeyProgramGroups, NULL); + RegCreateKeyEx(hKeyProgramManager, szSettings, 0, szProgMgr, 0, + KEY_READ | KEY_WRITE, NULL, &hKeySettings, NULL); + return TRUE; } return FALSE; @@ -47,7 +59,7 @@ BOOL IsProgMgrDefaultShell() DWORD dwType; DWORD dwBufferSize; - if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, SHELL_KEY, 0, KEY_READ, &hKeyWinlogon) == ERROR_SUCCESS) { + if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, WINLOGON_KEY, 0, KEY_READ, &hKeyWinlogon) == ERROR_SUCCESS) { if (RegQueryValueEx(hKeyWinlogon, L"Shell", 0, &dwType, (LPBYTE)szShell, &dwBufferSize) == ERROR_SUCCESS) { if (StrStr(szShell, szProgMgr)) { // ProgMgr detected >:) @@ -68,4 +80,26 @@ BOOL IsProgMgrDefaultShell() } // No registry access. return FALSE; +} + +/* * * *\ + QueryConfig - + Finds all settings and retrieves them from the registry. + RETURNS - + True if successful, false if unsuccessful. +\* * * */ +BOOL QueryConfig() +{ + return FALSE; +} + +/* * * *\ + SaveConfig - + Finds all settings and saves them to the registry. + RETURNS - + True if successful, false if unsuccessful. +\* * * */ +BOOL SaveConfig() +{ + return FALSE; } \ No newline at end of file diff --git a/progmgr/registry.h b/progmgr/registry.h index 12058cc..f301395 100644 --- a/progmgr/registry.h +++ b/progmgr/registry.h @@ -14,15 +14,18 @@ #include /* Defines */ -#define SHELL_KEY L"Software\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon" -#define PROGMAN_KEY L"Software\\Microsoft\\Windows NT\\CurrentVersion\\Program Manager" -#define WINDOWS_KEY L"Software\\Microsoft\\Windows NT\\CurrentVersion\\Windows" -#define PROGMGR_KEY L"Software\\Freedom Desktop\\Program Manager II" #define HKEYMAXLEN 261 +// Key Paths +#define WINLOGON_KEY L"Software\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon" +// #define PROGMAN_KEY L"Software\\Microsoft\\Windows NT\\CurrentVersion\\Program Manager" +// #define WINDOWS_KEY L"Software\\Microsoft\\Windows NT\\CurrentVersion\\Windows" +#define PROGMGR_KEY L"Software\\Freedom Desktop\\Program Manager II" -/* Global Registry Keys */ -//HKEY hKeyProgramManager; -//HKEY hKeyPMSettings; +/* Global Variables */ +// HKEYs +extern HKEY hKeyProgramManager; +extern HKEY hkeyProgramGroups; +extern HKEY hKeySettings; /* Function Prototypes */ BOOL InitializeRegistryKeys(VOID); diff --git a/progmgr/shellint.c b/progmgr/shellint.c index 3299d63..0cf10ad 100644 --- a/progmgr/shellint.c +++ b/progmgr/shellint.c @@ -13,6 +13,7 @@ #include /* Functions */ + /* * * *\ RunFileDlg - Produces a Run dialog window. diff --git a/progmgr/wndproc.c b/progmgr/wndproc.c index cd31f93..8d02c9f 100644 --- a/progmgr/wndproc.c +++ b/progmgr/wndproc.c @@ -15,6 +15,7 @@ #include /* Functions */ + /* * * *\ WndProc - Program Manager's window procedure.