1

我在下面有一个小代码,假设在 Windows 7 中启用/禁用主题。这是我使用 Visual Studio 2010 编译的 Win32 控制台应用程序。

执行时,它适用于禁用主题。但是,启用不起作用,因为代码挂起并且不退出。

我发现我可以通过评论 pragma 选项行来修复挂起。代码正确退出,但主题仍未启用。

#include <windows.h>
#include <Uxtheme.h>
#include <stdio.h>

//#pragma comment(linker, "/entry:main")

// Main application function
int main(void) {

    if (!IsThemeActive()) 
        EnableTheming(TRUE);
    else
        EnableTheming(FALSE);

    printf("Last error: %d", GetLastError());

    SendNotifyMessage(HWND_BROADCAST, WM_SETTINGCHANGE, NULL, (LPARAM)TEXT("VisualEffects"));

}

问题:

  1. 一般如何启用主题?我错过了什么?

  2. 如何使其与创建自定义入口点的 pragma 选项一起使用?我需要一个非常小的可执行文件大小。

非常感谢

4

0 回答 0