just a bunch of stuff to prove that i'm alive

This commit is contained in:
freedom
2023-07-19 00:40:13 -06:00
parent 7ddb89ebfe
commit fa8b528b59
28 changed files with 259 additions and 1 deletions

1
.gitignore vendored
View File

@@ -54,3 +54,4 @@ dkms.conf
/planning
/progmgr/RCa10968
/progmgr/icons/Thumbs.db
/bin/

View File

@@ -1,6 +1,6 @@
[![Latest version](https://img.shields.io/github/v/release/Freedom-Desktop/Program-Manager-II?label=latest%20version&sort=semver&style=plastic)](/releases) [![Latest pre-release version](https://img.shields.io/github/v/release/Freedom-Desktop/Program-Manager-II?label=latest%20pre-release%20version&sort=semver&style=plastic&include_prereleases)](/releases)
# Program Manager *II* for Windows NT
![Progman banner](/misc/banner.png)
![Progman banner](/misc/progmgr.png)
## What is Program Manager?
Program Manager was the shell that shipped with Microsoft Windows by default from Windows 3.0/NT 3.1 to 3.11/NT 3.51. The Program Manager shell was included with Windows as an option until Windows 2000. The new Program Manager is a shell that aims to mimic the original desktop metaphor that the original Program Manager was designed for while adding modern amenities.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

BIN
misc/progmgr1.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

BIN
misc/progmgr1.txt Normal file

Binary file not shown.

BIN
misc/progmgr2.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

40
misc/progmgr2.txt Normal file
View File

@@ -0,0 +1,40 @@
レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ
ノリヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘサウ
コウワワワワワワワ ワワワワワワワワワワワワコウ
コウ ロロ ロロ ゚ロロロ゚゚ロロロ゚ コウ
コウ ロロ ロロ ロロロ ロロロ コウ
コウ ロロ゚゚゚゚ ワワワ ワワ ワワワワ ワワワワワ ワワワ ワワ ワワワワ ワワワ ワワ ワワワ ロロロ ロロロ コウ
コウ ロロ ロロロ゚ロ ロロ ロロ ロロ ロロ ロロロ゚ロ ゚゚ ロロ ロロロ゚ロロロ゚ロロ ロロロ ロロロ コウ
コウ ロロ ロロ ロロ ロロ ロロ ロロ ロロ ワロ゚゚ロロ ロロ ロロ ロロ ロロロ ロロロ コウ
コウ ロロ ロロ ロロ ロロ ロロ ロロ ロロ ロロ ロロ ロロ ロロ ロロ ロロロ ロロロ コウ
コウ゚゚゚゚ ゚゚゚゚ ゚゚゚゚ ゚ロロロロ ゚゚゚゚ ゚゚゚゚゚ ゚゚゚゚ ゚゚ ゚゚゚ ロロロ ロロロ コウ
コウワワワワ ワワワワ ロロ ロロ ロロロ ロロロ コウ
コウ ロロ ロロ ゚゚゚゚ ロロロ ロロロ コウ
コウ ロロロ ロロロ ロロロ ロロロ コウ
コウ ロロ゚ロ ロ゚ロロ ワワワワ ワワワ ワワ ワワワワ ワワワワワ ワワワワ ワワワ ワワ ロロロ ロロロ コウ
コウ ロロ ゚ロロ゚ ロロ ゚゚ ロロ ロロロ゚ロロ ゚゚ ロロ ロロ ロロ ロロ ロロ ロロロ゚ロ ロロロ ロロロ コウ
コウ ロロ ゚゚ ロロ ワロ゚゚ロロ ロロ ロロ ワロ゚゚ロロ ロロ ロロ ロロ゚゚゚゚ ロロ ロロロ ロロロ コウ
コウ ロロ ロロ ロロ ロロ ロロ ロロ ロロ ロロ ロロ ロロ ロロ ワワ ロロ ワロロロワワロロロワ コウ
コウ゚゚゚゚ ゚゚゚゚ ゚゚゚゚゚ ゚゚゚ ゚゚ ゚゚゚゚゚ ゚ロロロロ ゚゚゚゚ ゚゚゚゚ ゚゚゚゚゚゚゚゚゚゚゚゚コウ
コタトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトエロロ ロロテトトトトトトトトトトトトトトトトトトトトトトトトトトラル
ネヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘク゚゚゚゚ユヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘシ

View File

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

BIN
progmgr/icons/src/wfdir.pdn Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -6,3 +6,116 @@
LICENSE INFORMATION -
MIT License, see LICENSE.txt in the root folder
\* * * * * * * */
/* Headers */
#include "progmgr.h"
#include "resource.h"
#include "registry.h"
// #define WIN32_LEAN_AND_MEAN
#include <Windows.h>
/* Variables */
// Miscellaneous
BOOL bIsDefaultShell = FALSE;
// Window Related
HICON hProgMgrIcon = NULL;
HINSTANCE hAppInstance;
HWND hwndProgMgr = NULL;
HWND hwndMDIClient = NULL;
// Global Strings
WCHAR szAppTitle[32];
/* Registry Keys */
// ...
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
/* Program Entry Point */
int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine, int nCmdShow)
{
MSG msg = { 0 };
WNDCLASS wc = { 0 };
WCHAR szClass[16];
hAppInstance = hInstance;
// Create Important Strings
LoadString(hAppInstance, IDS_APPTITLE, szAppTitle, CharSizeOf(szAppTitle));
LoadString(hAppInstance, IDS_PMCLASS, szClass, CharSizeOf(szClass));
// And add Task Manager...
// LoadString(hAppInstance, IDS_TASKMGR, szBuffer, CharSizeOf(szBuffer));
// InsertMenu(hSystemMenu, 6, MF_BYPOSITION | MF_STRING, IDM_TASKMGR, szBuffer);
// Register the Frame Window
wc.lpfnWndProc = WndProc;
wc.hInstance = hAppInstance;
wc.hIcon = hProgMgrIcon = LoadImage(hAppInstance, MAKEINTRESOURCE(PROGMGRICON), IMAGE_ICON, 0, 0, LR_DEFAULTSIZE | LR_SHARED);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)(COLOR_BACKGROUND);
wc.lpszMenuName = MAKEINTRESOURCE(IDM_MAIN);
wc.lpszClassName = szClass;
if (!RegisterClass(&wc))
return 1;
InitializeRegistryKeys();
if (!CreateWindow(wc.lpszClassName,
szAppTitle,
WS_OVERLAPPEDWINDOW | WS_VISIBLE,
0, 0, 640, 480, 0, 0, hInstance, NULL))
return 2;
while (GetMessage(&msg, NULL, 0, 0) > 0)
DispatchMessage(&msg);
return 0;
}
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_CREATE:
{
RECT rc;
CLIENTCREATESTRUCT ccs;
hwndProgMgr = hWnd;
// ccs.hWindowMenu = GetSubMenu(GetMenu(hWnd), IDM_WINDOW);
// ccs.idFirstChild = IDM_CHILDSTART;
GetClientRect(hwndProgMgr, &rc);
hwndMDIClient = CreateWindow(TEXT("MDIClient"),
NULL,
WS_CLIPCHILDREN | WS_CHILD | WS_VSCROLL | WS_HSCROLL | WS_BORDER,
rc.left - 1, rc.top - 1,
rc.right + 2, rc.bottom + 2,
hWnd, (HMENU)1, hAppInstance,
(LPTSTR)&ccs);
if (!hwndMDIClient) {
return -1;
}
break;
}
//case WM_SYSCOMMAND:
//{
// if (wParam == IDM_TASKMGR) {
//ShellExecute(hwndProgMgr, &TEXT("OPEN\0"), &TEXT("TASKMGR.EXE\0"), NULL, NULL, SW_NORMAL);
// break;
// }
//break;
//}
case WM_CLOSE:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}

View File

@@ -7,4 +7,12 @@
MIT License, see LICENSE.txt in the root folder
\* * * * * * * */
/* Pragmas */
#pragma once
#pragma comment(linker,"\"/manifestdependency:type='win32' \
name='Microsoft.Windows.Common-Controls' version='6.0.0.0' \
processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
/* Macros and Defines */
#define CharSizeOf(x) (sizeof(x) / sizeof(*x))

View File

@@ -70,6 +70,22 @@
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>$(SolutionDir)\bin\$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(OutDir)</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>$(SolutionDir)\bin\$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(OutDir)</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(SolutionDir)\bin\$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(OutDir)</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)\bin\$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(OutDir)</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
@@ -80,6 +96,8 @@
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
<MinimumRequiredVersion>5.02</MinimumRequiredVersion>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@@ -96,6 +114,8 @@
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
<MinimumRequiredVersion>5.02</MinimumRequiredVersion>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@@ -108,6 +128,8 @@
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
<MinimumRequiredVersion>5.02</MinimumRequiredVersion>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
@@ -124,13 +146,18 @@
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
<MinimumRequiredVersion>5.02</MinimumRequiredVersion>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="progmgr.h" />
<ClInclude Include="registry.h" />
<ClInclude Include="resource.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="progmgr.c" />
<ClCompile Include="registry.c" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="lang\dlg_en-US.rc" />

View File

@@ -21,11 +21,20 @@
<ClInclude Include="progmgr.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="resource.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="registry.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="progmgr.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="registry.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="resource.rc">

33
progmgr/registry.c Normal file
View File

@@ -0,0 +1,33 @@
/* * * * * * * *\
REGISTRY.C -
Copyright (c) 2023 freedom7341, Freedom Desktop
DESCRIPTION -
Program Manager's registry related functions.
LICENSE INFORMATION -
MIT License, see LICENSE.txt in the root folder
\* * * * * * * */
/* Headers */
#include "registry.h"
// #define WIN32_LEAN_AND_MEAN
#include <Windows.h>
/* Functions */
/* * * *\
InitializeRegistryKeys -
Takes the relevant Registry Keys and turns them
into valid and usable handles.
RETURNS -
True if successful, false if unsuccessful.
\* * * */
BOOL InitializeRegistryKeys()
{
HKEY hkeyProgramManager;
//HKEY hkeyPMSettings;
if (!RegCreateKeyEx(HKEY_CURRENT_USER, PROGMGR_KEY, 0, 0, 0, KEY_READ | KEY_WRITE, NULL, &hkeyProgramManager, NULL)) {
return TRUE;
}
return FALSE;
}

27
progmgr/registry.h Normal file
View File

@@ -0,0 +1,27 @@
/* * * * * * * *\
REGISTRY.H -
Copyright (c) 2023 freedom7341, Freedom Desktop
DESCRIPTION -
Program Manager's header file for registry related functions.
LICENSE INFORMATION -
MIT License, see LICENSE.txt in the root folder
\* * * * * * * */
/* Pragmas */
#pragma once
/* Includes */
#include <wtypes.h>
/* Defines */
#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 REGKEYMAXLENGTH 261
/* Global Registry Keys */
//HKEY hkeyProgramManager;
//HKEY hkeyPMSettings;
/* Function Prototypes */
BOOL InitializeRegistryKeys(VOID);

BIN
progmgr/resource.h Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.