---
name: "ApplyTheme"
section: "3w"
platform: "linux"
package: "libwine-dev"
version: "1.4.1-4"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/ApplyTheme"
---

# ApplyTheme(3w)

## NAME

**ApplyTheme** (UXTHEME.4)

## SYNOPSIS

HRESULT ApplyTheme\
  (\
   HTHEMEFILE *hThemeFile*,\
   char\*      *unknown*,\
   HWND       *hWnd*\
  )

## DESCRIPTION

Set a theme file to be the currently active theme.

## PARAMS

*hThemeFile* Handle to theme file

*unknown* See notes

*hWnd* Window requesting the theme change.

## RETURNS

**Success:** **S\_OK**

**Failure:** **HRESULT** error-code.

## NOTES

I'm not sure what the second parameter is (the datatype is likely wrong), other then this: Under **XP** if I pass char b\[\] = ""; the theme is applied with the screen redrawing really badly (flickers) char b\[\] = **" "**; where   can be one or more of any character, makes no difference the theme is applied smoothly (screen does not flicker) char \*b = **" "** or NULL; where   can be zero or more of any character, makes no difference the function fails returning invalid parameter.**..** very strange

## IMPLEMENTATION

Exported by ordinal only. Use **[GetProcAddress(3w)](/GetProcAddress/3w.md)** to obtain a pointer to the function.

Implemented in **"dlls/uxtheme/system.c"**.

Debug channel **"uxtheme"**.
