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"
 
 /***********************************************************************
