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