diff --git a/reactos/base/applications/hh/hh.ico b/reactos/base/applications/hh/hh.ico
new file mode 100644
index 00000000000..700b58ec93f
Binary files /dev/null and b/reactos/base/applications/hh/hh.ico differ
diff --git a/reactos/base/applications/hh/hh.rbuild b/reactos/base/applications/hh/hh.rbuild
new file mode 100644
index 00000000000..768801c220b
--- /dev/null
+++ b/reactos/base/applications/hh/hh.rbuild
@@ -0,0 +1,14 @@
+
+
+
+ .
+
+ 0x0600
+ 0x0501
+ kernel32
+ user32
+ gdi32
+ main.c
+ hh.rc
+
+
\ No newline at end of file
diff --git a/reactos/base/applications/hh/hh.rc b/reactos/base/applications/hh/hh.rc
new file mode 100644
index 00000000000..9cd358c78a1
--- /dev/null
+++ b/reactos/base/applications/hh/hh.rc
@@ -0,0 +1,9 @@
+#include
+
+#define REACTOS_STR_FILE_DESCRIPTION "ReactOS HTML Help Executable\0"
+#define REACTOS_STR_INTERNAL_NAME "hh\0"
+#define REACTOS_STR_ORIGINAL_FILENAME "hh.exe\0"
+#include
+
+2 ICON DISCARDABLE hh.ico
+
diff --git a/reactos/base/applications/hh/main.c b/reactos/base/applications/hh/main.c
new file mode 100644
index 00000000000..ee3a8e0bebd
--- /dev/null
+++ b/reactos/base/applications/hh/main.c
@@ -0,0 +1,23 @@
+#include
+
+typedef int WINAPI DOWINMAIN(HMODULE hMod, LPSTR cmdline);
+
+int WINAPI
+WinMain(HINSTANCE hInst,
+ HINSTANCE hPrevInst,
+ LPSTR cmdline,
+ int cmdshow)
+{
+ HMODULE hModule;
+ DOWINMAIN *doWinMain;
+ int ret = -1;
+
+ hModule = LoadLibraryA("hhctrl.ocx");
+ doWinMain = (DOWINMAIN*) GetProcAddress(hModule, "doWinMain");
+
+ ret = doWinMain(hInst, cmdline);
+
+ FreeLibrary(hModule);
+
+ return ret;
+}