从.msstyle中提取控制按钮

问题描述 投票:0回答:1

Windows 创建的窗口有所谓的控制按钮。这些按钮的意思是“最小化”、“最大化”、“恢复”、“关闭”。这些按钮可以在路径

DWMWindow > Common Properties
下的 .msstyle 文件中找到。

可以使用路径

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ThemeManager
处的注册表编辑器并访问 DllName 值来找到当前的 .msstyle 文件。

在 C++ 中,您可以打开这样的 .msstyle 文件(摘自如何在 wxWidgets 中创建与 Window(操作系统)控制按钮完全相同的控制按钮?):

HINSTANCE handle = LoadLibraryEx(L"C:\\Windows\\Resources\\Themes\\aero\\aero.msstyles",
                                     0, LOAD_LIBRARY_AS_DATAFILE);

HTHEME theme = OpenThemeData(reinterpret_cast<HWND>(this->GetHandle()),L"DWMWindow");

是否可以使用 python 编程语言从给定文件中“拉取”图标?

我很高兴得到任何答复!

python c++ windows winapi msstyles
1个回答
0
投票

对于给定的问题,您可以查看 PyWin32

该库似乎包含一个 OpenThemeData 函数

该库似乎还包含一个 LoadLibraryEx 函数

不同示例的用法也在这里

dllHandle = win32api.LoadLibraryEx(
    dllName, 0, win32con.LOAD_LIBRARY_AS_DATAFILE
)
try:
    data = win32api.FormatMessageW(
        win32con.FORMAT_MESSAGE_FROM_HMODULE,
        dllHandle,
        eventLogRecord.EventID,
        langid,
        eventLogRecord.StringInserts,
    )
finally:
    win32api.FreeLibrary(dllHandle)
© www.soinside.com 2019 - 2024. All rights reserved.