Vince Harron
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36918
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
static void ResolveShellFunctions()
{
static void ResolveShellFunctions()
{
- // don't give errors if the functions are unavailable, we're ready to deal
- // with this
- wxLogNull noLog;
-
// start with the newest functions, fall back to the oldest ones
// start with the newest functions, fall back to the oldest ones
+#ifdef __WXWINCE__
+ wxString shellDllName(_T("coredll"));
+#else
// first check for SHGetFolderPath (shell32.dll 5.0)
// first check for SHGetFolderPath (shell32.dll 5.0)
- wxDynamicLibrary dllShell32(_T("shell32"));
- if ( !dllShell32.IsLoaded() )
+ wxString shellDllName(_T("shell32"));
+#endif
+
+ wxDynamicLibrary dllShellFunctions( shellDllName );
+ if ( !dllShellFunctions.IsLoaded() )
- wxLogTrace(TRACE_MASK, _T("Failed to load shell32.dll"));
+ wxString traceMessage = wxString::Format( _T("Failed to load %s.dll"), shellDllName );
+ wxLogTrace(TRACE_MASK, traceMessage );
+ // don't give errors if the functions are unavailable, we're ready to deal
+ // with this
+ wxLogNull noLog;
+
- static const wchar_t UNICODE_SUFFIX = L'W';
+ #ifdef __WXWINCE__
+ static const wchar_t UNICODE_SUFFIX = L''; // WinCE SH functions don't seem to have 'W'
+ #else
+ static const wchar_t UNICODE_SUFFIX = L'W';
+ #endif
#else // !Unicode
static const char UNICODE_SUFFIX = 'A';
#endif // Unicode/!Unicode
wxString funcname(_T("SHGetFolderPath"));
gs_shellFuncs.pSHGetFolderPath =
#else // !Unicode
static const char UNICODE_SUFFIX = 'A';
#endif // Unicode/!Unicode
wxString funcname(_T("SHGetFolderPath"));
gs_shellFuncs.pSHGetFolderPath =
- (SHGetFolderPath_t)dllShell32.GetSymbol(funcname + UNICODE_SUFFIX);
+ (SHGetFolderPath_t)dllShellFunctions.GetSymbol(funcname + UNICODE_SUFFIX);
// then for SHGetSpecialFolderPath (shell32.dll 4.71)
if ( !gs_shellFuncs.pSHGetFolderPath )
{
funcname = _T("SHGetSpecialFolderPath");
gs_shellFuncs.pSHGetSpecialFolderPath = (SHGetSpecialFolderPath_t)
// then for SHGetSpecialFolderPath (shell32.dll 4.71)
if ( !gs_shellFuncs.pSHGetFolderPath )
{
funcname = _T("SHGetSpecialFolderPath");
gs_shellFuncs.pSHGetSpecialFolderPath = (SHGetSpecialFolderPath_t)
- dllShell32.GetSymbol(funcname + UNICODE_SUFFIX);
+ dllShellFunctions.GetSymbol(funcname + UNICODE_SUFFIX);
}
// finally we fall back on SHGetSpecialFolderLocation (shell32.dll 4.0),
}
// finally we fall back on SHGetSpecialFolderLocation (shell32.dll 4.0),