just a bunch of stuff to prove that i'm alive
1
.gitignore
vendored
@@ -54,3 +54,4 @@ dkms.conf
|
||||
/planning
|
||||
/progmgr/RCa10968
|
||||
/progmgr/icons/Thumbs.db
|
||||
/bin/
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[](/releases) [](/releases)
|
||||
# Program Manager *II* for Windows NT
|
||||

|
||||

|
||||
|
||||
## 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.
|
||||
|
||||
BIN
misc/banner.png
|
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 6.2 KiB |
BIN
misc/progmgr.png
|
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 5.5 KiB |
BIN
misc/progmgr1.gif
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
misc/progmgr1.txt
Normal file
BIN
misc/progmgr2.gif
Normal file
|
After Width: | Height: | Size: 9.6 KiB |
40
misc/progmgr2.txt
Normal file
@@ -0,0 +1,40 @@
|
||||
レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ
|
||||
ノリヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘサウ
|
||||
コウワワワワワワワ ワワワワワワワワワワワワコウ
|
||||
コウ ロロ ロロ ゚ロロロ゚゚ロロロ゚ コウ
|
||||
コウ ロロ ロロ ロロロ ロロロ コウ
|
||||
コウ ロロ゚゚゚゚ ワワワ ワワ ワワワワ ワワワワワ ワワワ ワワ ワワワワ ワワワ ワワ ワワワ ロロロ ロロロ コウ
|
||||
コウ ロロ ロロロ゚ロ ロロ ロロ ロロ ロロ ロロロ゚ロ ゚゚ ロロ ロロロ゚ロロロ゚ロロ ロロロ ロロロ コウ
|
||||
コウ ロロ ロロ ロロ ロロ ロロ ロロ ロロ ワロ゚゚ロロ ロロ ロロ ロロ ロロロ ロロロ コウ
|
||||
コウ ロロ ロロ ロロ ロロ ロロ ロロ ロロ ロロ ロロ ロロ ロロ ロロ ロロロ ロロロ コウ
|
||||
コウ゚゚゚゚ ゚゚゚゚ ゚゚゚゚ ゚ロロロロ ゚゚゚゚ ゚゚゚゚゚ ゚゚゚゚ ゚゚ ゚゚゚ ロロロ ロロロ コウ
|
||||
コウワワワワ ワワワワ ロロ ロロ ロロロ ロロロ コウ
|
||||
コウ ロロ ロロ ゚゚゚゚ ロロロ ロロロ コウ
|
||||
コウ ロロロ ロロロ ロロロ ロロロ コウ
|
||||
コウ ロロ゚ロ ロ゚ロロ ワワワワ ワワワ ワワ ワワワワ ワワワワワ ワワワワ ワワワ ワワ ロロロ ロロロ コウ
|
||||
コウ ロロ ゚ロロ゚ ロロ ゚゚ ロロ ロロロ゚ロロ ゚゚ ロロ ロロ ロロ ロロ ロロ ロロロ゚ロ ロロロ ロロロ コウ
|
||||
コウ ロロ ゚゚ ロロ ワロ゚゚ロロ ロロ ロロ ワロ゚゚ロロ ロロ ロロ ロロ゚゚゚゚ ロロ ロロロ ロロロ コウ
|
||||
コウ ロロ ロロ ロロ ロロ ロロ ロロ ロロ ロロ ロロ ロロ ロロ ワワ ロロ ワロロロワワロロロワ コウ
|
||||
コウ゚゚゚゚ ゚゚゚゚ ゚゚゚゚゚ ゚゚゚ ゚゚ ゚゚゚゚゚ ゚ロロロロ ゚゚゚゚ ゚゚゚゚ ゚゚゚゚゚゚゚゚゚゚゚゚コウ
|
||||
コタトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトエロロ ロロテトトトトトトトトトトトトトトトトトトトトトトトトトトラル
|
||||
ネヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘク゚゚゚゚ユヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘシ
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 5.3 KiB |
BIN
progmgr/icons/src/wfdir.pdn
Normal file
BIN
progmgr/icons/src/wftrdir.pdn
Normal file
BIN
progmgr/icons/src/wftree.pdn
Normal 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;
|
||||
|
||||
}
|
||||
|
||||
@@ -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))
|
||||
|
||||
|
||||
@@ -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" />
|
||||
|
||||
@@ -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
@@ -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
@@ -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);
|
||||