make compatible again to Windows 2000
Modified: trunk/reactos/subsys/system/explorer/shell/mainframe.cpp
Modified: trunk/reactos/subsys/system/explorer/utility/shellclasses.cpp
Modified: trunk/reactos/subsys/system/explorer/utility/shellclasses.h

Modified: trunk/reactos/subsys/system/explorer/shell/mainframe.cpp
--- trunk/reactos/subsys/system/explorer/shell/mainframe.cpp	2005-11-20 14:30:08 UTC (rev 19364)
+++ trunk/reactos/subsys/system/explorer/shell/mainframe.cpp	2005-11-20 14:31:55 UTC (rev 19365)
@@ -453,6 +453,8 @@
 				dir += 7;
 		}
 
+		///@todo use SHGetFileInfo() with SHGFI_EXETYPE flag to determine EXE type and open console window
+
 		HINSTANCE hinst = ShellExecute(_hwnd, NULL, p, NULL, dir, SW_SHOWNORMAL);
 
 		if ((int)hinst <= 32)

Modified: trunk/reactos/subsys/system/explorer/utility/shellclasses.cpp
--- trunk/reactos/subsys/system/explorer/utility/shellclasses.cpp	2005-11-20 14:30:08 UTC (rev 19364)
+++ trunk/reactos/subsys/system/explorer/utility/shellclasses.cpp	2005-11-20 14:31:55 UTC (rev 19365)
@@ -369,7 +369,7 @@
 		CHECKERROR(sf->GetUIObjectOf(hWnd, 1, &idl, riid, 0, ppvOut));
 }
 
-#if 1	// ILCombine() was missing in previous versions of MinGW.
+#if 0	// ILCombine() was missing in previous versions of MinGW and is not exported from shell32.dll on Windows 2000.
 
  // convert an item id list from relative to absolute (=relative to the desktop) format
 ShellPath ShellPath::create_absolute_pidl(LPCITEMIDLIST parent_pidl) const
@@ -415,7 +415,10 @@
 	return p;
 }
 
-UINT ILGetSize(LPCITEMIDLIST pidl)
+#endif
+
+ // local implementation of ILGetSize() to replace missing export on Windows 2000
+UINT ILGetSize_local(LPCITEMIDLIST pidl)
 {
 	if (!pidl)
 		return 0;
@@ -430,9 +433,7 @@
 	return l;
 }
 
-#endif
 
-
 #ifndef	_SHFOLDER_H_
 #define	CSIDL_FLAG_CREATE	0x8000
 #endif

Modified: trunk/reactos/subsys/system/explorer/utility/shellclasses.h
--- trunk/reactos/subsys/system/explorer/utility/shellclasses.h	2005-11-20 14:30:08 UTC (rev 19364)
+++ trunk/reactos/subsys/system/explorer/utility/shellclasses.h	2005-11-20 14:31:55 UTC (rev 19365)
@@ -633,15 +633,16 @@
 extern HRESULT name_from_pidl(IShellFolder* folder, LPCITEMIDLIST pidl, LPTSTR buffer, int len, SHGDNF flags);
 
 
-#if 0	// ILGetSize() was missing in previous versions of MinGW.
-extern "C" UINT STDCALL ILGetSize(LPCITEMIDLIST pidl);
+ // ILGetSize() was missing in previous versions of MinGW and is not exported from shell32.dll on Windows 2000.
+extern "C" UINT ILGetSize_local(LPCITEMIDLIST pidl);
+#define ILGetSize ILGetSize_local
 
-#ifdef UNICODE		// CFSTR_FILENAME is defined wrong in MinGW.
+#if 0
+#ifdef UNICODE		// CFSTR_FILENAME was defined wrong in previous versions of MinGW.
 #define CFSTR_FILENAMEW TEXT("FileNameW")
 #undef CFSTR_FILENAME
 #define CFSTR_FILENAME CFSTR_FILENAMEW
 #endif
-
 #endif