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
--- 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)
--- 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
--- 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