work is happening

This commit is contained in:
freedom7341
2023-09-15 11:46:01 -06:00
parent d16b7254da
commit 48c8f542bc
7 changed files with 18 additions and 14 deletions

View File

@@ -45,7 +45,7 @@ HWND CreateListView(HWND hWndParent, RECT rc);
RETURNS - RETURNS -
True if successful, false if unsuccessful. True if successful, false if unsuccessful.
\* * * */ \* * * */
BOOL CreateDesktopWindow() BOOL CreateDesktopWindow(VOID)
{ {
MSG msg = { 0 }; MSG msg = { 0 };
WNDCLASSEX wc = { 0 }; WNDCLASSEX wc = { 0 };

View File

@@ -46,7 +46,7 @@ extern WCHAR szClass[16];
/* Function Prototypes */ /* Function Prototypes */
// DESKTOP.C // DESKTOP.C
BOOL CreateDesktopWindow();// SYSINT.C BOOL CreateDesktopWindow(VOID);// SYSINT.C
// SYSINT.C // SYSINT.C
BOOL RunFileDlg(HWND hWndOwner, HICON hIcon, LPWSTR lpszDir, LPWSTR lpszTitle, LPWSTR lpszDesc, DWORD dwFlags); BOOL RunFileDlg(HWND hWndOwner, HICON hIcon, LPWSTR lpszDir, LPWSTR lpszTitle, LPWSTR lpszDesc, DWORD dwFlags);
BOOL ExitWindowsDialog(HWND hWndOwner); BOOL ExitWindowsDialog(HWND hWndOwner);
@@ -55,4 +55,4 @@ BOOL SetShellWindow(HWND hWndShell);
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam); LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
LRESULT CALLBACK CmdProc(HWND hWnd, WPARAM wParam, LPARAM lParam); LRESULT CALLBACK CmdProc(HWND hWnd, WPARAM wParam, LPARAM lParam);
VOID UpdateChecks(BOOL bVarMenu, UINT uSubMenu, UINT uID); VOID UpdateChecks(BOOL bVarMenu, UINT uSubMenu, UINT uID);
VOID UpdateWindowTitle(); VOID UpdateWindowTitle(VOID);

View File

@@ -168,7 +168,6 @@
<ClInclude Include="dialog.h" /> <ClInclude Include="dialog.h" />
<ClInclude Include="group.h" /> <ClInclude Include="group.h" />
<ClInclude Include="grpupdat.h" /> <ClInclude Include="grpupdat.h" />
<ClInclude Include="perms.h" />
<ClInclude Include="progmgr.h" /> <ClInclude Include="progmgr.h" />
<ClInclude Include="registry.h" /> <ClInclude Include="registry.h" />
<ClInclude Include="resource.h" /> <ClInclude Include="resource.h" />

View File

@@ -36,9 +36,6 @@
<ClInclude Include="dialog.h"> <ClInclude Include="dialog.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="perms.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="progmgr.c"> <ClCompile Include="progmgr.c">

View File

@@ -41,6 +41,7 @@ PWSTR pszSettings = L"Settings";
// Settings Subkeys // Settings Subkeys
PWSTR pszSettingsWindow = L"Window"; PWSTR pszSettingsWindow = L"Window";
PWSTR pszSettingsMask = L"SettingsMask"; PWSTR pszSettingsMask = L"SettingsMask";
// Permissions (Global)
/* Functions */ /* Functions */
@@ -51,7 +52,7 @@ PWSTR pszSettingsMask = L"SettingsMask";
RETURNS - RETURNS -
TRUE if successful, FALSE if unsuccessful. TRUE if successful, FALSE if unsuccessful.
\* * * */ \* * * */
BOOL InitializeRegistryKeys() BOOL InitializeRegistryKeys(VOID)
{ {
if (!RegCreateKeyEx(HKEY_CURRENT_USER, PROGMGR_KEY, 0, szProgMgr, 0, if (!RegCreateKeyEx(HKEY_CURRENT_USER, PROGMGR_KEY, 0, szProgMgr, 0,
KEY_READ | KEY_WRITE, NULL, &hKeyProgramManager, NULL)) KEY_READ | KEY_WRITE, NULL, &hKeyProgramManager, NULL))
@@ -74,7 +75,7 @@ BOOL InitializeRegistryKeys()
TRUE if Program Manager is the default shell, TRUE if Program Manager is the default shell,
FALSE if otherwise or an error occurs. FALSE if otherwise or an error occurs.
\* * * */ \* * * */
BOOL IsProgMgrDefaultShell() BOOL IsProgMgrDefaultShell(VOID)
{ {
HKEY hKeyWinlogon; HKEY hKeyWinlogon;
WCHAR szShell[HKEYMAXLEN] = L""; WCHAR szShell[HKEYMAXLEN] = L"";
@@ -139,18 +140,20 @@ DWORD SaveGroupToRegistry(_In_ PGROUP pg)
RETURNS - RETURNS -
RCE_* configuration error value RCE_* configuration error value
\* * * */ \* * * */
DWORD LoadGroupFromRegistry(_Inout_ PGROUP pg, _Out_ DWORD dwBufferSize) DWORD LoadGroupFromRegistry(_Inout_ PGROUP pg, _Out_ PDWORD pdwBufferSize)
{ {
DWORD dwConfigStatus = RCE_SUCCESS; DWORD dwConfigStatus = RCE_SUCCESS;
DWORD dwType = REG_BINARY; DWORD dwType = REG_BINARY;
// TODO: rethink this
// If the pointer is invalid then fail out // If the pointer is invalid then fail out
if (pg == NULL) if (pg == NULL | pdwBufferSize == NULL)
return RCE_FAILURE; return RCE_FAILURE;
// Load group // Load group
if (!RegQueryValueEx(hKeyProgramGroups, pg->szName, 0, &dwType, if (!RegQueryValueEx(hKeyProgramGroups, pg->szName, 0, &dwType,
(LPBYTE)pg, &dwBufferSize) == ERROR_SUCCESS) (LPBYTE)pg, pdwBufferSize) == ERROR_SUCCESS)
dwConfigStatus = dwConfigStatus && RCE_POSITION; dwConfigStatus = dwConfigStatus && RCE_POSITION;
return dwConfigStatus; return dwConfigStatus;

View File

@@ -45,13 +45,18 @@ extern BOOL bTopMost;
extern BOOL bShowUsername; extern BOOL bShowUsername;
extern BOOL bSaveSettings; extern BOOL bSaveSettings;
extern RECT rcMainWindow; extern RECT rcMainWindow;
// Permissions
extern BOOL bPermAdmin; // Has Administrator permissions
extern BOOL bPermGuest; // Has Guest permissions
extern BOOL bPermPower; // Has power option permissions
/* Function Prototypes */ /* Function Prototypes */
BOOL InitializeRegistryKeys(VOID); BOOL InitializeRegistryKeys(VOID);
BOOL IsProgMgrDefaultShell(VOID); BOOL IsProgMgrDefaultShell(VOID);
// Groups // Groups
DWORD SaveGroupToRegistry(_In_ PGROUP pg); DWORD SaveGroupToRegistry(_In_ PGROUP pg);
DWORD LoadGroupFromRegistry(_Inout_ PGROUP pg, _Out_ DWORD dwBufferSize); DWORD LoadGroupFromRegistry(_Inout_ PGROUP pg, _Out_ PDWORD pdwBufferSize);
// Settings // Settings
DWORD SaveConfig(BOOL bSettings, BOOL bPos, BOOL bGroups); DWORD SaveConfig(BOOL bSettings, BOOL bPos, BOOL bGroups);
DWORD LoadConfig(BOOL bSettings, BOOL bPos, BOOL bGroups); DWORD LoadConfig(BOOL bSettings, BOOL bPos, BOOL bGroups);
// Permissions

View File

@@ -217,7 +217,7 @@ VOID UpdateChecks(BOOL bVarMenu, UINT uSubMenu, UINT uID)
RETURNS - RETURNS -
Nothing! Nothing!
\* * * */ \* * * */
VOID UpdateWindowTitle() VOID UpdateWindowTitle(VOID)
{ {
WCHAR szUsername[UNLEN + 1] = L""; WCHAR szUsername[UNLEN + 1] = L"";
DWORD dwUsernameLen = UNLEN; DWORD dwUsernameLen = UNLEN;