Fixed some compiler errors and warnings.

diff --git a/programs/progman/dialog.c b/programs/progman/dialog.c
index 5157d92..107462a 100644
--- a/programs/progman/dialog.c
+++ b/programs/progman/dialog.c
@@ -35,7 +35,7 @@
   New.nDefault = nDefault;
 
   ret = DialogBox(Globals.hInstance,  STRING_NEW_Xx,
-		  Globals.hMainWnd, lpfnDlg);
+		  Globals.hMainWnd, (DLGPROC)lpfnDlg);
   FreeProcInstance(lpfnDlg);
   return ret;
 }
@@ -97,7 +97,7 @@
 
   ret = DialogBox(Globals.hInstance,
 		  bMove ? STRING_MOVE_Xx : STRING_COPY_Xx,
-		  Globals.hMainWnd, lpfnDlg);
+		  Globals.hMainWnd, (DLGPROC)lpfnDlg);
   FreeProcInstance(lpfnDlg);
 
   return((ret == IDOK) ? CopyMove.hToGroup : 0);
@@ -186,7 +186,7 @@
   GroupAttributes.lpszGrpFile = lpszGrpFile;
 
   ret = DialogBox(Globals.hInstance,  STRING_GROUP_Xx,
-		  Globals.hMainWnd, lpfnDlg);
+		  Globals.hMainWnd, (DLGPROC)lpfnDlg);
   FreeProcInstance(lpfnDlg);
   return(ret == IDOK);
 }
@@ -269,7 +269,7 @@
   lstrcpyn(ProgramAttributes.lpszTmpIconFile, lpszIconFile, MAX_PATHNAME_LEN);
 
   ret = DialogBox(Globals.hInstance,  STRING_PROGRAM_Xx,
-		  Globals.hMainWnd, lpfnDlg);
+		  Globals.hMainWnd, (DLGPROC)lpfnDlg);
   FreeProcInstance(lpfnDlg);
 
   return(ret == IDOK);
@@ -391,7 +391,7 @@
   Symbol.lpnIconIndex = lpnIconIndex;
 
   DialogBox(Globals.hInstance, STRING_SYMBOL_Xx,
-	    Globals.hMainWnd, lpfnDlg);
+	    Globals.hMainWnd, (DLGPROC)lpfnDlg);
   FreeProcInstance(lpfnDlg);
 }
 
@@ -476,7 +476,7 @@
 {
   WNDPROC lpfnDlg = MakeProcInstance(DIALOG_EXECUTE_DlgProc, Globals.hInstance);
   DialogBox(Globals.hInstance, STRING_EXECUTE_Xx,
-	    Globals.hMainWnd, lpfnDlg);
+	    Globals.hMainWnd, (DLGPROC)lpfnDlg);
   FreeProcInstance(lpfnDlg);
 }
 
diff --git a/programs/progman/group.c b/programs/progman/group.c
index fa2df79..7b3dc0e 100644
--- a/programs/progman/group.c
+++ b/programs/progman/group.c
@@ -5,7 +5,9 @@
  */
 
 #include <stdio.h>
+#include <string.h>
 #include "windows.h"
+#include "windowsx.h"
 #include "progman.h"
 
 /***********************************************************************
diff --git a/programs/progman/main.c b/programs/progman/main.c
index 44ccfff..8bd0161 100644
--- a/programs/progman/main.c
+++ b/programs/progman/main.c
@@ -5,7 +5,9 @@
  */
 
 #include <stdio.h>
+#include <string.h>
 #include "windows.h"
+#include "windowsx.h"
 #include "license.h"
 #include "progman.h"
 
@@ -15,6 +17,8 @@
 
 GLOBALS Globals;
 
+VOID WINAPI WriteOutProfiles16(void);
+
 static VOID MAIN_CreateGroups(void);
 static VOID MAIN_MenuCommand(HWND hWnd, WPARAM wParam, LPARAM lParam);
 static ATOM MAIN_RegisterMainWinClass(void);
diff --git a/programs/progman/program.c b/programs/progman/program.c
index 40ff409..51a4e54 100644
--- a/programs/progman/program.c
+++ b/programs/progman/program.c
@@ -4,7 +4,9 @@
  * Copyright 1996 Ulrich Schmid
  */
 
+#include <string.h>
 #include "windows.h"
+#include "windowsx.h"
 #include "progman.h"
 
 /***********************************************************************