Author: gadamopoulos
Date: Tue Dec 9 21:37:59 2014
New Revision: 65597
URL:
http://svn.reactos.org/svn/reactos?rev=65597&view=rev
Log:
[EXPLORER]
* Import some undocumented functions directly instead of using GetProcAddress
Modified:
trunk/reactos/base/shell/explorer/explorer.cpp
trunk/reactos/base/shell/explorer/precomp.h
trunk/reactos/base/shell/explorer/startmnusite.cpp
trunk/reactos/base/shell/explorer/taskswnd.cpp
trunk/reactos/base/shell/explorer/traywnd.cpp
Modified: trunk/reactos/base/shell/explorer/explorer.cpp
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/explor…
==============================================================================
--- trunk/reactos/base/shell/explorer/explorer.cpp [iso-8859-1] (original)
+++ trunk/reactos/base/shell/explorer/explorer.cpp [iso-8859-1] Tue Dec 9 21:37:59 2014
@@ -22,10 +22,8 @@
#include <browseui_undoc.h>
HINSTANCE hExplorerInstance;
-HMODULE hUser32;
HANDLE hProcessHeap;
HKEY hkExplorer = NULL;
-DRAWCAPTEMP DrawCapTemp = NULL;
class CExplorerModule : public CComModule
{
@@ -137,14 +135,8 @@
hExplorerInstance = hInstance;
hProcessHeap = GetProcessHeap();
+
LoadAdvancedSettings();
-
- hUser32 = GetModuleHandle(TEXT("USER32.DLL"));
- if (hUser32 != NULL)
- {
- DrawCapTemp = (DRAWCAPTEMP) GetProcAddress(hUser32, PROC_NAME_DRAWCAPTIONTEMP);
- }
-
InitCommonControls();
OleInitialize(NULL);
Modified: trunk/reactos/base/shell/explorer/precomp.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/precom…
==============================================================================
--- trunk/reactos/base/shell/explorer/precomp.h [iso-8859-1] (original)
+++ trunk/reactos/base/shell/explorer/precomp.h [iso-8859-1] Tue Dec 9 21:37:59 2014
@@ -28,6 +28,7 @@
#include <strsafe.h>
#include <undocuser.h>
+#include <shlwapi_undoc.h>
#include <shlobj_undoc.h>
#include <shlguid_undoc.h>
#include <undocshell.h>
@@ -41,23 +42,6 @@
#include <wine/debug.h>
WINE_DEFAULT_DEBUG_CHANNEL(explorernew);
-
-/* dynamic imports due to lack of support in msvc linker libs */
-typedef INT(APIENTRY *REGSHELLHOOK)(HWND, DWORD);
-#ifdef UNICODE
-#define PROC_NAME_DRAWCAPTIONTEMP "DrawCaptionTempW"
-typedef BOOL(APIENTRY *DRAWCAPTEMP)(HWND, HDC, const RECT*, HFONT, HICON, LPCWSTR,
UINT);
-#else
-#define PROC_NAME_DRAWCAPTIONTEMP "DrawCaptionTempA"
-typedef BOOL (APIENTRY *DRAWCAPTEMP)(HWND, HDC, const RECT*, HFONT, HICON, LPCSTR,
UINT);
-#endif
-typedef HRESULT(APIENTRY *SHINVDEFCMD)(HWND, IShellFolder*, LPCITEMIDLIST);
-typedef void (APIENTRY *RUNFILEDLG)(HWND, HICON, LPCWSTR, LPCWSTR, LPCWSTR, UINT);
-typedef void (APIENTRY *EXITWINDLG)(HWND);
-typedef HRESULT(APIENTRY *SHWINHELP)(HWND, LPWSTR, UINT, DWORD);
-
-/* Constants for RunFileDlg */
-#define RFF_CALCDIRECTORY 0x04 /* Calculates the working directory from the file
name. */
#define ASSERT(cond) \
do if (!(cond)) { \
@@ -65,10 +49,8 @@
} while (0)
extern HINSTANCE hExplorerInstance;
-extern HMODULE hUser32;
extern HANDLE hProcessHeap;
extern HKEY hkExplorer;
-extern DRAWCAPTEMP DrawCapTemp;
/*
* dragdrop.c
Modified: trunk/reactos/base/shell/explorer/startmnusite.cpp
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/startm…
==============================================================================
--- trunk/reactos/base/shell/explorer/startmnusite.cpp [iso-8859-1] (original)
+++ trunk/reactos/base/shell/explorer/startmnusite.cpp [iso-8859-1] Tue Dec 9 21:37:59
2014
@@ -83,26 +83,11 @@
IN IShellFolder *pShellFolder,
IN LPCITEMIDLIST pidl)
{
- HMODULE hShlwapi;
HRESULT ret = S_FALSE;
TRACE("ITrayPriv::Execute\n");
- hShlwapi = GetModuleHandle(TEXT("SHLWAPI.DLL"));
- if (hShlwapi != NULL)
- {
- SHINVDEFCMD SHInvokeDefCmd;
-
- /* SHInvokeDefaultCommand */
- SHInvokeDefCmd = (SHINVDEFCMD) GetProcAddress(hShlwapi,
- (LPCSTR) ((LONG) 279));
- if (SHInvokeDefCmd != NULL)
- {
- ret = SHInvokeDefCmd(Tray->GetHWND(),
- pShellFolder,
- pidl);
- }
- }
+ ret = SHInvokeDefaultCommand(Tray->GetHWND(), pShellFolder, pidl);
return ret;
}
Modified: trunk/reactos/base/shell/explorer/taskswnd.cpp
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/tasksw…
==============================================================================
--- trunk/reactos/base/shell/explorer/taskswnd.cpp [iso-8859-1] (original)
+++ trunk/reactos/base/shell/explorer/taskswnd.cpp [iso-8859-1] Tue Dec 9 21:37:59 2014
@@ -1312,18 +1312,7 @@
TRACE("ShellHookMsg got assigned number %d\n", ShellHookMsg);
- HMODULE hShell32 = GetModuleHandle(TEXT("SHELL32.DLL"));
- if (hShell32 != NULL)
- {
- REGSHELLHOOK RegShellHook;
-
- /* RegisterShellHook */
- RegShellHook = (REGSHELLHOOK) GetProcAddress(hShell32, (LPCSTR) ((LONG)
181));
- if (RegShellHook != NULL)
- {
- RegShellHook(m_hWnd, 3); /* 1 if no NT! We're targeting NT so we
don't care! */
- }
- }
+ RegisterShellHook(m_hWnd, 3); /* 1 if no NT! We're targeting NT so we
don't care! */
RefreshWindowList();
@@ -1338,25 +1327,10 @@
LRESULT OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
- HMODULE hShell32;
-
IsDestroying = TRUE;
/* Unregister the shell hook */
- hShell32 = GetModuleHandle(TEXT("SHELL32.DLL"));
- if (hShell32 != NULL)
- {
- REGSHELLHOOK RegShellHook;
-
- /* RegisterShellHook */
- RegShellHook = (REGSHELLHOOK) GetProcAddress(hShell32,
- (LPCSTR) ((LONG) 181));
- if (RegShellHook != NULL)
- {
- RegShellHook(m_hWnd,
- FALSE);
- }
- }
+ RegisterShellHook(m_hWnd, FALSE);
CloseThemeData(TaskBandTheme);
DeleteAllTasks();
Modified: trunk/reactos/base/shell/explorer/traywnd.cpp
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/traywn…
==============================================================================
--- trunk/reactos/base/shell/explorer/traywnd.cpp [iso-8859-1] (original)
+++ trunk/reactos/base/shell/explorer/traywnd.cpp [iso-8859-1] Tue Dec 9 21:37:59 2014
@@ -1364,16 +1364,13 @@
if (hIconStart != NULL)
Flags |= DC_ICON;
- if (DrawCapTemp != NULL)
- {
- Ret = DrawCapTemp(NULL,
- hDC,
- &rcButton,
- hStartBtnFont,
- hIconStart,
- szStartCaption,
- Flags);
- }
+ DrawCaptionTemp(NULL,
+ hDC,
+ &rcButton,
+ hStartBtnFont,
+ hIconStart,
+ szStartCaption,
+ Flags);
SelectObject(hDC,
hbmpOld);
@@ -1926,8 +1923,6 @@
DWORD WINAPI RunFileDlgThread()
{
- HINSTANCE hShell32;
- RUNFILEDLG RunFileDlg;
HWND hwnd;
RECT posRect;
@@ -1947,9 +1942,6 @@
NULL);
hwndRunFileDlgOwner = hwnd;
-
- hShell32 = GetModuleHandle(TEXT("SHELL32.DLL"));
- RunFileDlg = (RUNFILEDLG) GetProcAddress(hShell32, (LPCSTR) 61);
RunFileDlg(hwnd, NULL, NULL, NULL, NULL, RFF_CALCDIRECTORY);