Started ReactOS regedt32 application. Mainframe, menus and makefile only.
authorRobert Dickenson <robd@reactos.org>
Tue, 2 Jul 2002 16:57:56 +0000 (16:57 +0000)
committerRobert Dickenson <robd@reactos.org>
Tue, 2 Jul 2002 16:57:56 +0000 (16:57 +0000)
svn path=/trunk/; revision=3170

13 files changed:
rosapps/regedt32/Makefile [new file with mode: 0644]
rosapps/regedt32/StdAfx.cpp [new file with mode: 0644]
rosapps/regedt32/StdAfx.h [new file with mode: 0644]
rosapps/regedt32/about.cpp [new file with mode: 0644]
rosapps/regedt32/about.h [new file with mode: 0644]
rosapps/regedt32/debug.cpp [new file with mode: 0644]
rosapps/regedt32/debug.h [new file with mode: 0644]
rosapps/regedt32/regedt32.cpp [new file with mode: 0644]
rosapps/regedt32/regedt32.h [new file with mode: 0644]
rosapps/regedt32/regedt32.ico [new file with mode: 0644]
rosapps/regedt32/regedt32.rc [new file with mode: 0644]
rosapps/regedt32/resource.h [new file with mode: 0644]
rosapps/regedt32/small.ico [new file with mode: 0644]

diff --git a/rosapps/regedt32/Makefile b/rosapps/regedt32/Makefile
new file mode 100644 (file)
index 0000000..e524046
--- /dev/null
@@ -0,0 +1,89 @@
+#
+#  ReactOS regedt32
+#
+#  Makefile
+#
+#  Copyright (C) 2002  Robert Dickenson <robd@reactos.org>
+#
+#  This program is free software; you can redistribute it and/or modify
+#  it under the terms of the GNU General Public License as published by
+#  the Free Software Foundation; either version 2 of the License, or
+#  (at your option) any later version.
+#
+#  This program is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#  GNU General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with this program; if not, write to the Free Software
+#  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+#
+       
+PATH_TO_TOP = ..
+
+TARGET = regedt32
+
+BASE_CFLAGS = -DGCC -D_WIN32_IE=0x0400
+
+RCFLAGS = -DGCC -D_WIN32_IE=0x0400
+
+
+OBJS = about.o \
+       debug.o \
+       $(TARGET).o
+
+LIBS = -lgdi32 -luser32 -lkernel32 -lcomctl32
+
+all:   $(TARGET).exe
+
+$(TARGET).res: $(TARGET).rc
+
+$(TARGET).exe: $(OBJS) $(TARGET).coff
+       $(CC) -Wl,--subsystem,windows -o $(TARGET).exe $(OBJS) $(TARGET).coff $(LIBS)
+       $(NM) --numeric-sort $(TARGET).exe > $(TARGET).sym
+
+
+about.o:       about.cpp about.h resource.h
+
+affinity.o:    affinity.cpp affinity.h
+
+applicationpage.o:     applicationpage.cpp applicationpage.h processpage.h $(TARGET).h resource.h
+
+column.o:      column.cpp column.h resource.h
+
+debug.o:       debug.cpp debug.h
+
+endproc.o:     endproc.cpp endproc.h
+
+font.o:                font.cpp font.h
+
+graph.o:       graph.cpp graph.h resource.h
+
+graphctrl.o:   graphctrl.cpp graphctrl.h resource.h
+
+optnmenu.o:    optnmenu.cpp optnmenu.h resource.h
+
+perfdata.o:    perfdata.cpp perfdata.h
+
+performancepage.o:     performancepage.cpp performancepage.h perfdata.h graphctrl.h graph.h $(TARGET).h resource.h
+
+priority.o:    priority.cpp priority.h
+
+processpage.o: processpage.cpp processpage.h perfdata.h column.h proclist.h $(TARGET).h resource.h
+
+proclist.o:    proclist.cpp proclist.h
+
+run.o:         run.cpp run.h
+
+trayicon.o:    trayicon.cpp trayicon.h resource.h
+
+$(TARGET).o:   $(TARGET).cpp $(TARGET).h resource.h
+
+clean:
+       - $(RM) $(OBJS)
+       - $(RM) $(TARGET).exe
+       - $(RM) $(TARGET).sym
+       - $(RM) $(TARGET).coff
+
+include ../rules.mak
diff --git a/rosapps/regedt32/StdAfx.cpp b/rosapps/regedt32/StdAfx.cpp
new file mode 100644 (file)
index 0000000..5c967e7
--- /dev/null
@@ -0,0 +1,8 @@
+// stdafx.cpp : source file that includes just the standard includes
+//     regedt32.pch will be the pre-compiled header
+//     stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
+
+// TODO: reference any additional headers you need in STDAFX.H
+// and not in this file
diff --git a/rosapps/regedt32/StdAfx.h b/rosapps/regedt32/StdAfx.h
new file mode 100644 (file)
index 0000000..1e47eff
--- /dev/null
@@ -0,0 +1,32 @@
+// stdafx.h : include file for standard system include files,
+//  or project specific include files that are used frequently, but
+//      are changed infrequently
+//
+
+#if !defined(AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_)
+#define AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#define WIN32_LEAN_AND_MEAN            // Exclude rarely-used stuff from Windows headers
+
+
+// Windows Header Files:
+#include <windows.h>
+
+// C RunTime Header Files
+#include <stdlib.h>
+#include <malloc.h>
+#include <memory.h>
+#include <tchar.h>
+
+// Local Header Files
+
+// TODO: reference additional headers your program requires here
+
+//{{AFX_INSERT_LOCATION}}
+// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
+
+#endif // !defined(AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_)
diff --git a/rosapps/regedt32/about.cpp b/rosapps/regedt32/about.cpp
new file mode 100644 (file)
index 0000000..2db5a44
--- /dev/null
@@ -0,0 +1,71 @@
+/*
+ *  ReactOS About Dialog Box
+ *
+ *  about.cpp
+ *
+ *  Copyright (C) 2002  Robert Dickenson <robd@reactos.org>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+    
+#ifdef _MSC_VER
+#include "stdafx.h"
+#else
+#define WIN32_LEAN_AND_MEAN     // Exclude rarely-used stuff from Windows headers
+#include <windows.h>
+#include <commctrl.h>
+#include <stdlib.h>
+#include <malloc.h>
+#include <memory.h>
+#include <tchar.h>
+#include <process.h>
+#include <stdio.h>
+#endif
+    
+#include "regedt32.h"
+#include "about.h"
+
+
+extern HINSTANCE hInst;
+extern HWND hMainWnd;
+
+LRESULT CALLBACK AboutDialogWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
+
+
+void OnAbout(void)
+{
+    DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hMainWnd, (DLGPROC)AboutDialogWndProc);
+}
+
+LRESULT CALLBACK AboutDialogWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
+{
+    HWND    hLicenseEditWnd;
+    TCHAR   strLicense[0x1000];
+
+    switch (message) {
+    case WM_INITDIALOG:
+        hLicenseEditWnd = GetDlgItem(hDlg, IDC_LICENSE_EDIT);
+        LoadString(hInst, IDS_LICENSE, strLicense, 0x1000);
+        SetWindowText(hLicenseEditWnd, strLicense);
+        return TRUE;
+    case WM_COMMAND:
+        if ((LOWORD(wParam) == IDOK) || (LOWORD(wParam) == IDCANCEL)) {
+            EndDialog(hDlg, LOWORD(wParam));
+            return TRUE;
+        }
+        break;
+    }
+    return 0;
+}
diff --git a/rosapps/regedt32/about.h b/rosapps/regedt32/about.h
new file mode 100644 (file)
index 0000000..158f481
--- /dev/null
@@ -0,0 +1,30 @@
+/*
+ *  ReactOS About Dialog Box
+ *
+ *  about.h
+ *
+ *  Copyright (C) 2002  Robert Dickenson <robd@reactos.org>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+       
+#ifndef __ABOUT_H__
+#define __ABOUT_H__
+
+
+void OnAbout(void);
+
+
+#endif // __ABOUT_H__
diff --git a/rosapps/regedt32/debug.cpp b/rosapps/regedt32/debug.cpp
new file mode 100644 (file)
index 0000000..0df84df
--- /dev/null
@@ -0,0 +1,39 @@
+/*
+ *  ReactOS Application Debug Routines
+ *
+ *  debug.cpp
+ *
+ *  Copyright (C) 2002  Robert Dickenson <robd@reactos.org>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#ifdef _MSC_VER
+#include "stdafx.h"
+#else
+#define WIN32_LEAN_AND_MEAN            // Exclude rarely-used stuff from Windows headers
+#include <windows.h>
+#include <commctrl.h>
+#include <stdlib.h>
+#include <malloc.h>
+#include <memory.h>
+#include <tchar.h>
+#include <process.h>
+#include <stdio.h>
+#endif
+       
+#include "regedt32.h"
+#include "debug.h"
+
diff --git a/rosapps/regedt32/debug.h b/rosapps/regedt32/debug.h
new file mode 100644 (file)
index 0000000..39d1562
--- /dev/null
@@ -0,0 +1,28 @@
+/*
+ *  ReactOS Application Debug Routines
+ *
+ *  debug.cpp
+ *
+ *  Copyright (C) 2002  Robert Dickenson <robd@reactos.org>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+       
+#ifndef __DEBUG_H__
+#define __DEBUG_H__
+
+
+
+#endif // __DEBUG_H__
\ No newline at end of file
diff --git a/rosapps/regedt32/regedt32.cpp b/rosapps/regedt32/regedt32.cpp
new file mode 100644 (file)
index 0000000..c9bfd2e
--- /dev/null
@@ -0,0 +1,318 @@
+/*
+ *  ReactOS regedt32
+ *
+ *  regedt32.cpp
+ *
+ *  Copyright (C) 2002  Robert Dickenson <robd@reactos.org>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include "stdafx.h"
+#include "resource.h"
+#include <shellapi.h>
+//#include <winspool.h>
+
+#define MAX_LOADSTRING 100
+
+// Global Variables:
+HWND hMainWnd;
+HINSTANCE hInst;                            // current instance
+TCHAR szTitle[MAX_LOADSTRING];              // The title bar text
+TCHAR szWindowClass[MAX_LOADSTRING];        // The title bar text
+TCHAR szFrameClass[MAX_LOADSTRING];         // The title bar text
+
+// Foward declarations of functions included in this code module:
+ATOM                MyRegisterClass(HINSTANCE hInstance);
+ATOM                MyRegisterClass2(HINSTANCE hInstance);
+BOOL                InitInstance(HINSTANCE, int);
+LRESULT CALLBACK    WndProc(HWND, UINT, WPARAM, LPARAM);
+LRESULT CALLBACK    FrameWndProc(HWND, UINT, WPARAM, LPARAM);
+LRESULT CALLBACK    About(HWND, UINT, WPARAM, LPARAM);
+
+int APIENTRY WinMain(HINSTANCE hInstance,
+                     HINSTANCE hPrevInstance,
+                     LPSTR     lpCmdLine,
+                     int       nCmdShow)
+{
+    // TODO: Place code here.
+    MSG msg;
+    HACCEL hAccelTable;
+
+    // Initialize global strings
+    LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
+    LoadString(hInstance, IDC_REGEDT32, szWindowClass, MAX_LOADSTRING);
+    LoadString(hInstance, IDC_REGEDT32_FRAME, szFrameClass, MAX_LOADSTRING);
+    
+    MyRegisterClass(hInstance);
+    MyRegisterClass2(hInstance);
+
+    // Perform application initialization:
+    if (!InitInstance (hInstance, nCmdShow)) 
+    {
+        return FALSE;
+    }
+
+    hAccelTable = LoadAccelerators(hInstance, (LPCTSTR)IDC_REGEDT32);
+
+    // Main message loop:
+    while (GetMessage(&msg, NULL, 0, 0)) 
+    {
+        if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) 
+        {
+            TranslateMessage(&msg);
+            DispatchMessage(&msg);
+        }
+    }
+
+    return msg.wParam;
+}
+
+
+
+//
+//  FUNCTION: MyRegisterClass()
+//
+//  PURPOSE: Registers the window class.
+//
+//  COMMENTS:
+//
+//    This function and its usage is only necessary if you want this code
+//    to be compatible with Win32 systems prior to the 'RegisterClassEx'
+//    function that was added to Windows 95. It is important to call this function
+//    so that the application will get 'well formed' small icons associated
+//    with it.
+//
+ATOM MyRegisterClass(HINSTANCE hInstance)
+{
+    WNDCLASSEX wcex;
+
+    wcex.cbSize = sizeof(WNDCLASSEX); 
+
+    wcex.style          = CS_HREDRAW | CS_VREDRAW;
+    wcex.lpfnWndProc    = (WNDPROC)WndProc;
+    wcex.cbClsExtra     = 0;
+    wcex.cbWndExtra     = 0;
+    wcex.hInstance      = hInstance;
+    wcex.hIcon          = LoadIcon(hInstance, (LPCTSTR)IDI_REGEDT32);
+    wcex.hCursor        = LoadCursor(NULL, IDC_ARROW);
+    wcex.hbrBackground  = (HBRUSH)SS_BLACKRECT/*(COLOR_WINDOW+1)*/;
+//  wcex.lpszMenuName   = (LPCSTR)IDC_REGEDT32;
+//  wcex.lpszMenuName   = (LPCSTR)IDR_REGEDIT_MENU;
+    wcex.lpszMenuName   = (LPCSTR)IDR_REGEDT32_MENU;
+    wcex.lpszClassName  = szWindowClass;
+    wcex.hIconSm        = LoadIcon((HINSTANCE)wcex.hInstance, (LPCTSTR)IDI_SMALL);
+    return RegisterClassEx(&wcex);
+}
+
+ATOM MyRegisterClass2(HINSTANCE hInstance)
+{
+    WNDCLASSEX wcex;
+
+    wcex.cbSize = sizeof(WNDCLASSEX); 
+
+    wcex.style          = CS_HREDRAW | CS_VREDRAW;
+    wcex.lpfnWndProc    = (WNDPROC)FrameWndProc;
+    wcex.cbClsExtra     = 0;
+    wcex.cbWndExtra     = 0;
+    wcex.hInstance      = hInstance;
+    wcex.hIcon          = LoadIcon(hInstance, (LPCTSTR)IDI_REGEDT32);
+    wcex.hCursor        = LoadCursor(NULL, IDC_ARROW);
+    wcex.hbrBackground  = (HBRUSH)(COLOR_WINDOW+1);
+    wcex.lpszMenuName   = (LPCSTR)IDR_REGEDIT_MENU;
+//  wcex.lpszMenuName   = (LPCSTR)IDR_REGEDT32_MENU;
+    wcex.lpszClassName  = szFrameClass;
+    wcex.hIconSm        = LoadIcon((HINSTANCE)wcex.hInstance, (LPCTSTR)IDI_SMALL);
+
+    return RegisterClassEx(&wcex);
+}
+
+//
+//
+//   FUNCTION: InitInstance(HANDLE, int)
+//
+//   PURPOSE: Saves instance handle and creates main window
+//
+//   COMMENTS:
+//
+//        In this function, we save the instance handle in a global variable and
+//        create and display the main program window.
+//
+BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
+{
+   HWND hWnd;
+
+   hInst = hInstance; // Store instance handle in our global variable
+
+   hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
+      CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);
+
+   if (!hWnd)
+   {
+      return FALSE;
+   }
+   hMainWnd = hWnd;
+
+   ShowWindow(hWnd, nCmdShow);
+   UpdateWindow(hWnd);
+
+   return TRUE;
+}
+
+
+LRESULT CALLBACK FrameWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
+{
+    int wmId, wmEvent;
+    PAINTSTRUCT ps;
+    HDC hdc;
+    TCHAR szHello[MAX_LOADSTRING];
+    LoadString(hInst, IDS_HELLO, szHello, MAX_LOADSTRING);
+
+    switch (message) 
+    {
+        case WM_COMMAND:
+            wmId    = LOWORD(wParam); 
+            wmEvent = HIWORD(wParam); 
+            // Parse the menu selections:
+            switch (wmId)
+            {
+                case IDM_ABOUT:
+//                 DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About);
+                   {
+                   HICON hIcon = LoadIcon(hInst, (LPCTSTR)IDI_REGEDT32);
+                   ShellAbout(hWnd, szTitle, "FrameWndProc", hIcon);
+                   //if (hIcon) DestroyIcon(hIcon); // NOT REQUIRED
+                   }
+                   break;
+                case IDM_EXIT:
+                   DestroyWindow(hWnd);
+                   break;
+                default:
+                   return DefWindowProc(hWnd, message, wParam, lParam);
+            }
+            break;
+        case WM_PAINT:
+            hdc = BeginPaint(hWnd, &ps);
+            // TODO: Add any drawing code here...
+            RECT rt;
+            GetClientRect(hWnd, &rt);
+            DrawText(hdc, szHello, strlen(szHello), &rt, DT_CENTER);
+            EndPaint(hWnd, &ps);
+            break;
+        case WM_DESTROY:
+            PostQuitMessage(0);
+            break;
+        default:
+            return DefWindowProc(hWnd, message, wParam, lParam);
+   }
+   return 0;
+}
+
+
+//
+//  FUNCTION: WndProc(HWND, unsigned, WORD, LONG)
+//
+//  PURPOSE:  Processes messages for the main window.
+//
+//  WM_COMMAND  - process the application menu
+//  WM_PAINT    - Paint the main window
+//  WM_DESTROY  - post a quit message and return
+//
+//
+LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
+{
+    int wmId, wmEvent;
+    PAINTSTRUCT ps;
+    HDC hdc;
+    //TCHAR szHello[MAX_LOADSTRING];
+    //LoadString(hInst, IDS_HELLO, szHello, MAX_LOADSTRING);
+
+    switch (message) 
+    {
+        case WM_COMMAND:
+            wmId    = LOWORD(wParam); 
+            wmEvent = HIWORD(wParam); 
+            // Parse the menu selections:
+            switch (wmId)
+            {
+                case ID_REGISTRY_PRINTERSETUP:
+                    //PRINTDLG pd;
+                    //PrintDlg(&pd);
+                    //PAGESETUPDLG psd;
+                    //PageSetupDlg(&psd);
+                    break;
+                case ID_REGISTRY_OPENLOCAL:
+                    {
+   HWND hChildWnd;
+//   hChildWnd = CreateWindow(szFrameClass, szTitle, WS_OVERLAPPEDWINDOW | WS_CHILD,
+//                       CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, hWnd, NULL, hInst, NULL);
+   hChildWnd = CreateWindow(szFrameClass, szTitle, WS_OVERLAPPEDWINDOW | WS_CHILD,
+                       0, 0, 150, 170, hWnd, NULL, hInst, NULL);
+   if (hChildWnd) {
+       ShowWindow(hChildWnd, 1);
+       UpdateWindow(hChildWnd);
+   }
+                    }
+                    break;
+                case IDM_ABOUT:
+//                 DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About);
+                   {
+                   HICON hIcon = LoadIcon(hInst, (LPCTSTR)IDI_REGEDT32);
+                   ShellAbout(hWnd, szTitle, "", hIcon);
+                   //if (hIcon) DestroyIcon(hIcon); // NOT REQUIRED
+                   }
+                   break;
+                case IDM_EXIT:
+                   DestroyWindow(hWnd);
+                   break;
+                default:
+                   return DefWindowProc(hWnd, message, wParam, lParam);
+            }
+            break;
+        case WM_PAINT:
+            hdc = BeginPaint(hWnd, &ps);
+            // TODO: Add any drawing code here...
+            RECT rt;
+            GetClientRect(hWnd, &rt);
+            //DrawText(hdc, szHello, strlen(szHello), &rt, DT_CENTER);
+            EndPaint(hWnd, &ps);
+            break;
+        case WM_DESTROY:
+            PostQuitMessage(0);
+            break;
+        default:
+            return DefWindowProc(hWnd, message, wParam, lParam);
+   }
+   return 0;
+}
+
+// Mesage handler for about box.
+LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
+{
+    switch (message)
+    {
+        case WM_INITDIALOG:
+                return TRUE;
+
+        case WM_COMMAND:
+            if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) 
+            {
+                EndDialog(hDlg, LOWORD(wParam));
+                return TRUE;
+            }
+            break;
+    }
+    return FALSE;
+}
diff --git a/rosapps/regedt32/regedt32.h b/rosapps/regedt32/regedt32.h
new file mode 100644 (file)
index 0000000..69ce5c0
--- /dev/null
@@ -0,0 +1,33 @@
+/*
+ *  ReactOS regedt32
+ *
+ *  regedt32.h
+ *
+ *  Copyright (C) 2002  Robert Dickenson <robd@reactos.org>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#ifndef __REGEDT32_H__
+#define __REGEDT32_H__
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "resource.h"
+
+
+#endif // __REGEDT32_H__
diff --git a/rosapps/regedt32/regedt32.ico b/rosapps/regedt32/regedt32.ico
new file mode 100644 (file)
index 0000000..3868835
Binary files /dev/null and b/rosapps/regedt32/regedt32.ico differ
diff --git a/rosapps/regedt32/regedt32.rc b/rosapps/regedt32/regedt32.rc
new file mode 100644 (file)
index 0000000..5bfe9c3
--- /dev/null
@@ -0,0 +1,374 @@
+//Microsoft Developer Studio generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#define APSTUDIO_HIDDEN_SYMBOLS
+#include "windows.h"
+#undef APSTUDIO_HIDDEN_SYMBOLS
+#include "resource.h"
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// English (U.S.) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+#endif //_WIN32
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Icon
+//
+
+// Icon with lowest ID value placed first to ensure application icon
+// remains consistent on all systems.
+IDI_REGEDT32            ICON    DISCARDABLE     "regedt32.ICO"
+IDI_SMALL               ICON    DISCARDABLE     "SMALL.ICO"
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Menu
+//
+
+IDC_REGEDT32 MENU DISCARDABLE 
+BEGIN
+    POPUP "&File"
+    BEGIN
+        MENUITEM "E&xit",                       IDM_EXIT
+    END
+    POPUP "&Help"
+    BEGIN
+        MENUITEM "&About ...",                  IDM_ABOUT
+    END
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Accelerator
+//
+#ifdef _MSC_VER
+IDC_REGEDT32 ACCELERATORS MOVEABLE PURE 
+BEGIN
+    "?",            IDM_ABOUT,              ASCII,  ALT
+    "/",            IDM_ABOUT,              ASCII,  ALT
+END
+#endif
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Dialog
+//
+
+IDD_ABOUTBOX DIALOG DISCARDABLE  22, 17, 230, 75
+STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
+CAPTION "About"
+FONT 8, "System"
+BEGIN
+    ICON            IDI_REGEDT32,IDC_MYICON,14,9,16,16
+    LTEXT           "ReactOS regedt32 Version 1.0",IDC_STATIC,49,10,119,8,SS_NOPREFIX
+    LTEXT           "Copyright (C) 2002 ReactOS Team",IDC_STATIC,49,20,119,8
+    DEFPUSHBUTTON   "OK",IDOK,195,6,30,11,WS_GROUP
+END
+
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+2 TEXTINCLUDE DISCARDABLE 
+BEGIN
+    "#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
+    "#include ""windows.h""\r\n"
+    "#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"
+    "#include ""resource.h""\r\n"
+    "\0"
+END
+
+3 TEXTINCLUDE DISCARDABLE 
+BEGIN
+    "\r\n"
+    "\0"
+END
+
+#endif    // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// String Table
+//
+
+STRINGTABLE DISCARDABLE 
+BEGIN
+    IDS_APP_TITLE           "ReactOS Registry Editor"
+    IDS_HELLO               "Hello World!"
+    IDC_REGEDT32             "REGED32"
+    IDC_REGEDT32_FRAME       "REGED32_FRAME"
+END
+
+#endif    // English (U.S.) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+/////////////////////////////////////////////////////////////////////////////
+// English (Australia) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENA)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_AUS
+#pragma code_page(1252)
+#endif //_WIN32
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Menu
+//
+
+IDR_REGEDIT_MENU MENU DISCARDABLE 
+BEGIN
+    POPUP "&Registry"
+    BEGIN
+        MENUITEM "&Import Registry File...",    ID_REGISTRY_IMPORTREGISTRYFILE
+
+        MENUITEM "&Export Registry File...",    ID_REGISTRY_EXPORTREGISTRYFILE
+
+        MENUITEM SEPARATOR
+        MENUITEM "&Connect Network Registry...", 
+                                                ID_REGISTRY_CONNECTNETWORKREGISTRY
+
+        MENUITEM "&Disconnect Network Registry...", 
+                                                ID_REGISTRY_DISCONNECTNETWORKREGISTRY
+        , GRAYED
+        MENUITEM SEPARATOR
+        MENUITEM "&Print\tCtrl+P",              ID_REGISTRY_PRINT
+        MENUITEM SEPARATOR
+        MENUITEM "E&xit",                       IDM_EXIT
+    END
+    POPUP "&Edit"
+    BEGIN
+        MENUITEM "&Modify",                     ID_EDIT_MODIFY
+        MENUITEM SEPARATOR
+        POPUP "&New"
+        BEGIN
+            MENUITEM "&Key",                        ID_EDIT_NEW_KEY
+            MENUITEM SEPARATOR
+            MENUITEM "&String Value",               ID_EDIT_NEW_STRINGVALUE
+            MENUITEM "&Binary Value",               ID_EDIT_NEW_BINARYVALUE
+            MENUITEM "&DWORD Value",                ID_EDIT_NEW_DWORDVALUE
+        END
+        MENUITEM SEPARATOR
+        MENUITEM "&Delete\tDel",                ID_EDIT_DELETE
+        MENUITEM "&Rename",                     ID_EDIT_RENAME
+        MENUITEM SEPARATOR
+        MENUITEM "&Copy Key Name",              ID_EDIT_COPYKEYNAME
+        MENUITEM SEPARATOR
+        MENUITEM "&Find\tCtrl+F",               ID_EDIT_FIND
+        MENUITEM "Find Ne&xt\tF3",              ID_EDIT_FINDNEXT
+    END
+    POPUP "&View"
+    BEGIN
+        MENUITEM "Status &Bar",                 ID_VIEW_STATUSBAR
+        MENUITEM SEPARATOR
+        MENUITEM "Sp&lit",                      ID_VIEW_SPLIT
+        MENUITEM SEPARATOR
+        MENUITEM "&Refresh\tF5",                ID_VIEW_REFRESH
+    END
+    POPUP "&Favorites"
+    BEGIN
+        MENUITEM "&Add to Favourites",          ID_FAVORITES_ADDTOFAVOURITES
+        MENUITEM "&Remove Favourite",           ID_FAVORITES_REMOVEFAVOURITE
+        , GRAYED
+    END
+    POPUP "&Help"
+    BEGIN
+        MENUITEM "&Help Topics",                ID_HELP_HELPTOPICS
+        MENUITEM SEPARATOR
+        MENUITEM "&About Registry Editor",      IDM_ABOUT
+    END
+END
+
+IDR_REGEDT32_MENU MENU DISCARDABLE 
+BEGIN
+    POPUP "&Registry"
+    BEGIN
+        MENUITEM "&Open Local",                 ID_REGISTRY_OPENLOCAL
+        MENUITEM "&Close",                      ID_REGISTRY_CLOSE, GRAYED
+        MENUITEM SEPARATOR
+        MENUITEM "&Load Hive",                  ID_REGISTRY_LOADHIVE, GRAYED
+        MENUITEM "&Unload Hive",                ID_REGISTRY_UNLOADHIVE
+        , GRAYED
+        MENUITEM "R&estore...",                 ID_REGISTRY_RESTORE, GRAYED
+        MENUITEM "Sa&ve Key...",                ID_REGISTRY_SAVEKEY, GRAYED
+        MENUITEM SEPARATOR
+        MENUITEM "&Select Computer...",         ID_REGISTRY_SELECTCOMPUTER
+        MENUITEM SEPARATOR
+        MENUITEM "&Print Subtree",              ID_REGISTRY_PRINTSUBTREE
+        , GRAYED
+        MENUITEM "P&rinter Setup...",           ID_REGISTRY_PRINTERSETUP
+        MENUITEM "Save Subtree &As...",         ID_REGISTRY_SAVESUBTREEAS
+        , GRAYED
+        MENUITEM SEPARATOR
+        MENUITEM "E&xit",                       IDM_EXIT
+    END
+    POPUP "&Edit"
+    BEGIN
+        MENUITEM "Add &Key...",                 ID_EDIT_ADDKEY, GRAYED
+        MENUITEM "Add &Value...",               ID_EDIT_ADDVALUE, GRAYED
+        MENUITEM "&Delete\tDel",                ID_EDIT_DELETE, GRAYED
+        MENUITEM SEPARATOR
+        MENUITEM "&Binary...",                  ID_EDIT_BINARY, GRAYED
+        MENUITEM "&String...",                  ID_EDIT_STRING, GRAYED
+        MENUITEM "D&WORD...",                   ID_EDIT_DWORD, GRAYED
+        MENUITEM "&Multi String...",            ID_EDIT_MULTISTRING, GRAYED
+    END
+    POPUP "&Tree"
+    BEGIN
+        MENUITEM "E&xpand One Level\t+",        ID_TREE_EXPANDONELEVEL
+        , GRAYED
+        MENUITEM "Expand Branch\t*",            ID_TREE_EXPANDBRANCH, GRAYED
+        MENUITEM "Expand &All\tCtrl+*",         ID_TREE_EXPANDALL, GRAYED
+        MENUITEM "&Collapse Branch\t-",         ID_TREE_COLLAPSEBRANCH
+        , GRAYED
+    END
+    POPUP "&View"
+    BEGIN
+        MENUITEM "Tree &and Data",              ID_VIEW_TREEANDDATA
+        , CHECKED, GRAYED
+        MENUITEM "&Tree only",                  ID_VIEW_TREEONLY, GRAYED
+        MENUITEM "&Data only",                  ID_VIEW_DATAONLY, GRAYED
+        MENUITEM SEPARATOR
+        MENUITEM "&Split",                      ID_VIEW_SPLIT, GRAYED
+        MENUITEM SEPARATOR
+        MENUITEM "Display &Binary Data",        ID_VIEW_DISPLAYBINARYDATA
+        , GRAYED
+        MENUITEM SEPARATOR
+        MENUITEM "R&efresh All\tShift+F6",      ID_VIEW_REFRESHALL, GRAYED
+        MENUITEM "&Refresh Active\tF6",         ID_VIEW_REFRESHACTIVE
+        , GRAYED
+        MENUITEM SEPARATOR
+        MENUITEM "&Find Key...",                ID_VIEW_FINDKEY, GRAYED
+    END
+    POPUP "Security"
+    BEGIN
+        MENUITEM "&Permissions...",             ID_SECURITY_PERMISSIONS
+        , GRAYED
+    END
+    POPUP "&Options"
+    BEGIN
+        MENUITEM "&Font...",                    ID_OPTIONS_FONT
+        MENUITEM SEPARATOR
+        MENUITEM "&Auto Refresh",               ID_OPTIONS_AUTOREFRESH
+        , CHECKED
+        MENUITEM "&Read Only Mode",             ID_OPTIONS_READONLYMODE
+        MENUITEM "&Confirm on Delete",          ID_OPTIONS_CONFIRMONDELETE
+        , CHECKED
+        MENUITEM "&Save Settings on Exit",      ID_OPTIONS_SAVESETTINGSONEXIT
+        , CHECKED
+    END
+    POPUP "&Window"
+    BEGIN
+        MENUITEM "&Cascade\tShift+F5",          ID_WINDOW_CASCADE, GRAYED
+        MENUITEM "&Tile\tShift+F4",             ID_WINDOW_TILE, GRAYED
+        MENUITEM "&Arrange Icons",              ID_WINDOW_ARRANGEICONS
+        , GRAYED
+        MENUITEM SEPARATOR
+    END
+    POPUP "&Help"
+    BEGIN
+        MENUITEM "&Contents",                   ID_HELP_CONTENTS
+        MENUITEM SEPARATOR
+        MENUITEM "&About Registry Editor...",   IDM_ABOUT
+    END
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Dialog
+//
+
+IDD_DIALOG1 DIALOG DISCARDABLE  0, 0, 186, 95
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Dialog"
+FONT 8, "MS Sans Serif"
+BEGIN
+    DEFPUSHBUTTON   "OK",IDOK,129,7,50,14
+    PUSHBUTTON      "Cancel",IDCANCEL,129,24,50,14
+END
+
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE DISCARDABLE 
+BEGIN
+    "resource.h\0"
+END
+
+#endif    // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// DESIGNINFO
+//
+
+#ifdef APSTUDIO_INVOKED
+GUIDELINES DESIGNINFO DISCARDABLE 
+BEGIN
+    IDD_DIALOG1, DIALOG
+    BEGIN
+        LEFTMARGIN, 7
+        RIGHTMARGIN, 179
+        TOPMARGIN, 7
+        BOTTOMMARGIN, 88
+    END
+END
+#endif    // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// String Table
+//
+
+STRINGTABLE DISCARDABLE 
+BEGIN
+    ID_HELP_HELPTOPICS      "Opens Registry Editor Help."
+END
+
+STRINGTABLE DISCARDABLE 
+BEGIN
+    IDM_ABOUT               "Displays program information, version number, and copyright."
+END
+
+#endif    // English (Australia) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif    // not APSTUDIO_INVOKED
+
diff --git a/rosapps/regedt32/resource.h b/rosapps/regedt32/resource.h
new file mode 100644 (file)
index 0000000..7f6a6d4
--- /dev/null
@@ -0,0 +1,93 @@
+//{{NO_DEPENDENCIES}}
+// Microsoft Developer Studio generated include file.
+// Used by regedt32.rc
+//
+#define IDC_MYICON                      2
+#define IDD_REGED_DIALOG                102
+#define IDD_ABOUTBOX                    103
+#define IDS_APP_TITLE                   103
+#define IDM_ABOUT                       104
+#define IDM_EXIT                        105
+#define IDS_HELLO                       106
+#define IDI_REGEDT32                    107
+#define IDI_SMALL                       108
+#define IDC_REGEDT32                    109
+#define IDC_REGEDT32_FRAME              110
+#define IDR_MAINFRAME                   128
+#define IDR_REGEDIT_MENU                129
+#define IDR_REGEDT32_MENU               130
+#define IDD_DIALOG1                     131
+#define ID_HELP_HELPTOPICS              32771
+#define ID_FAVORITES_ADDTOFAVOURITES    32772
+#define ID_FAVORITES_REMOVEFAVOURITE    32773
+#define ID_VIEW_STATUSBAR               32774
+#define ID_VIEW_SPLIT                   32775
+#define ID_VIEW_REFRESH                 32776
+#define ID_EDIT_DELETE                  32778
+#define ID_EDIT_RENAME                  32779
+#define ID_EDIT_COPYKEYNAME             32781
+#define ID_EDIT_FIND                    32782
+#define ID_EDIT_FINDNEXT                32783
+#define ID_EDIT_MODIFY                  32784
+#define ID_EDIT_NEW_KEY                 32785
+#define ID_EDIT_NEW_STRINGVALUE         32786
+#define ID_EDIT_NEW_BINARYVALUE         32787
+#define ID_EDIT_NEW_DWORDVALUE          32788
+#define ID_REGISTRY_IMPORTREGISTRYFILE  32789
+#define ID_REGISTRY_EXPORTREGISTRYFILE  32790
+#define ID_REGISTRY_CONNECTNETWORKREGISTRY 32791
+#define ID_REGISTRY_DISCONNECTNETWORKREGISTRY 32792
+#define ID_REGISTRY_PRINT               32793
+#define ID_HELP_CONTENTS                32795
+#define ID_WINDOW_CASCADE               32797
+#define ID_WINDOW_TILE                  32798
+#define ID_WINDOW_ARRANGEICONS          32799
+#define ID_OPTIONS_FONT                 32800
+#define ID_OPTIONS_AUTOREFRESH          32801
+#define ID_OPTIONS_READONLYMODE         32802
+#define ID_OPTIONS_CONFIRMONDELETE      32803
+#define ID_OPTIONS_SAVESETTINGSONEXIT   32804
+#define ID_SECURITY_PERMISSIONS         32805
+#define ID_VIEW_TREEANDDATA             32806
+#define ID_VIEW_TREEONLY                32807
+#define ID_VIEW_DATAONLY                32808
+#define ID_VIEW_DISPLAYBINARYDATA       32810
+#define ID_VIEW_REFRESHALL              32811
+#define ID_VIEW_REFRESHACTIVE           32812
+#define ID_VIEW_FINDKEY                 32813
+#define ID_TREE_EXPANDONELEVEL          32814
+#define ID_TREE_EXPANDBRANCH            32815
+#define ID_TREE_EXPANDALL               32816
+#define ID_TREE_COLLAPSEBRANCH          32817
+#define ID_EDIT_ADDKEY                  32818
+#define ID_EDIT_ADDVALUE                32819
+#define ID_EDIT_BINARY                  32821
+#define ID_EDIT_STRING                  32822
+#define ID_EDIT_DWORD                   32823
+#define ID_EDIT_MULTISTRING             32824
+#define ID_REGISTRY_OPENLOCAL           32825
+#define ID_REGISTRY_CLOSE               32826
+#define ID_REGISTRY_LOADHIVE            32827
+#define ID_REGISTRY_UNLOADHIVE          32828
+#define ID_REGISTRY_RESTORE             32829
+#define ID_REGISTRY_SAVEKEY             32830
+#define ID_REGISTRY_SELECTCOMPUTER      32831
+#define ID_REGISTRY_PRINTSUBTREE        32832
+#define ID_REGISTRY_PRINTERSETUP        32833
+#define ID_REGISTRY_SAVESUBTREEAS       32834
+
+#define IDC_LICENSE_EDIT                1029
+#define IDS_LICENSE                     32835
+
+#define IDC_STATIC                      -1
+
+// Next default values for new objects
+// 
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE        132
+#define _APS_NEXT_COMMAND_VALUE         32836
+#define _APS_NEXT_CONTROL_VALUE         1000
+#define _APS_NEXT_SYMED_VALUE           110
+#endif
+#endif
diff --git a/rosapps/regedt32/small.ico b/rosapps/regedt32/small.ico
new file mode 100644 (file)
index 0000000..8f94d9a
Binary files /dev/null and b/rosapps/regedt32/small.ico differ