Skip to content

Commit

Permalink
[ACGENRAL] Implement the DisableThemes shim. CORE-11927
Browse files Browse the repository at this point in the history
svn path=/trunk/; revision=73463
  • Loading branch information
learn-more committed Dec 16, 2016
1 parent b7add40 commit f3f4384
Show file tree
Hide file tree
Showing 5 changed files with 90 additions and 0 deletions.
1 change: 1 addition & 0 deletions reactos/dll/appcompat/shims/CMakeLists.txt
@@ -1,4 +1,5 @@

add_subdirectory(shimlib)
add_subdirectory(genral)
add_subdirectory(layer)

18 changes: 18 additions & 0 deletions reactos/dll/appcompat/shims/genral/CMakeLists.txt
@@ -0,0 +1,18 @@

include_directories(${SHIMLIB_DIR})

spec2def(acgenral.dll genral.spec)

list(APPEND SOURCE
main.c
themes.c
genral.spec)

add_library(acgenral SHARED
${SOURCE}
${CMAKE_CURRENT_BINARY_DIR}/acgenral.def)

set_module_type(acgenral win32dll)
target_link_libraries(acgenral shimlib)
add_importlibs(acgenral uxtheme msvcrt kernel32 ntdll)
add_cd_file(TARGET acgenral DESTINATION reactos/AppPatch FOR all)
3 changes: 3 additions & 0 deletions reactos/dll/appcompat/shims/genral/genral.spec
@@ -0,0 +1,3 @@

@ stdcall GetHookAPIs(str wstr ptr)
@ stdcall NotifyShims(long ptr)
37 changes: 37 additions & 0 deletions reactos/dll/appcompat/shims/genral/main.c
@@ -0,0 +1,37 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Shim library
* FILE: dll/appcompat/shims/genral/main.c
* PURPOSE: Shim entrypoint
* PROGRAMMER: Mark Jansen
*/

#include <windows.h>
#include <strsafe.h>
#include <shimlib.h>

/* Forward to the generic implementation */
PHOOKAPI WINAPI GetHookAPIs(IN LPCSTR szCommandLine, IN LPCWSTR wszShimName, OUT PDWORD pdwHookCount)
{
return ShimLib_GetHookAPIs(szCommandLine, wszShimName, pdwHookCount);
}

/* Forward to the generic implementation */
BOOL WINAPI NotifyShims(DWORD fdwReason, PVOID ptr)
{
return ShimLib_NotifyShims(fdwReason, ptr);
}

BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
{
switch(dwReason)
{
case DLL_PROCESS_ATTACH:
ShimLib_Init(hInstance);
break;
case DLL_PROCESS_DETACH:
ShimLib_Deinit();
break;
}
return TRUE;
}
31 changes: 31 additions & 0 deletions reactos/dll/appcompat/shims/genral/themes.c
@@ -0,0 +1,31 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Shim library
* FILE: dll/appcompat/shims/genral/themes.c
* PURPOSE: Theme related shims
* PROGRAMMER: Mark Jansen
*/

#include <windows.h>
#include <shimlib.h>
#include <strsafe.h>
#include <uxtheme.h>


#define SHIM_NS DisableThemes
#include <setup_shim.inl>

#define SHIM_NUM_HOOKS 0
#define SHIM_NOTIFY_FN SHIM_OBJ_NAME(Notify)

BOOL WINAPI SHIM_OBJ_NAME(Notify)(DWORD fdwReason, PVOID ptr)
{
if (fdwReason == SHIM_REASON_INIT)
{
SetThemeAppProperties(0);
}
return TRUE;
}

#include <implement_shim.inl>

0 comments on commit f3f4384

Please sign in to comment.