gpt4 book ai didi

windows-mobile - 以编程方式在 Windows Mobile 中启用 ClearType

转载 作者:行者123 更新时间:2023-12-04 15:43:24 24 4
gpt4 key购买 nike

对于我们的 Windows Mobile 应用程序,我想在设备上启用 ClearType 选项。根据this MSDN 上的文章应该通过设置以下注册表项来完成:

HKEY_LOCAL_MACHINE\SYSTEM\GDI\Cleartype

但是设置这个特定的键后什么也没有发生。即使软重置也无法启用它,而只是删除我刚刚创建的注册表项。

奇怪的是,当我使用“设置”->“系统”->“屏幕”->“ClearType”手动设置它时,它会立即起作用。比较更改设置前后的注册表导出结果表明,只是上面提到的键发生了变化。

我不太明白为什么当我自己更改注册表项时它不起作用。谁知道我在这里做错了什么?

[更新]看起来解决方案是执行以下任一操作:

  • 使用正确的参数广播 WM_SETTINGCHANGE 消息,例如:

    SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 1)

    但到目前为止这还没有奏效。我猜 wParam 参数可能需要不同的值。

  • 或者使用 ClearType 更改的相关事件调用 CreateEvent。有点像 BacklightChangeEvent 或 SDKBacklightChangeEvent 可以工作。但到目前为止,我还没有看到任何有关这些事件的文档,因此我无法弄清楚该事件是什么。

最佳答案

我自己找到了解决方案。事实证明,不需要更改注册表,只需调用SystemParametersInfo即可。使用 SPI_SETFONTSMOOTHING 参数足以使其应用更改。

这是我使用 .NET CF 2.0 的代码:

[DllImport("coredll.dll", SetLastError = true)]
static extern bool SystemParametersInfo(uint uiAction, uint uiParam, ref int pvParam, uint fWinIni);

const uint SPI_SETFONTSMOOTHING = 0x004b;
const uint SPI_UPDATEINI = 0x1;

int pv = 0;
bool ret = SystemParametersInfo(SPI_SETFONTSMOOTHING, 1, ref pv, SPIF_UPDATEINIFILE);

关于windows-mobile - 以编程方式在 Windows Mobile 中启用 ClearType,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1566818/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com