怎么允许或禁止字体边缘平滑效果

如何允许或禁止字体边缘平滑效果
通过某个函数来实现,最好是仅仅作用于本窗体或本程序。

下面的两种不合要求
手动:右键点击屏幕-> 属性-> 外观-> 效果-> 使用下列方式使屏幕的字体边缘平滑
注册表:HKEY_CURRENT_USER\Control   Panel\Desktop修改右边的字符串键值“FontSmoothing”和DWORD键值“FontSmoothingType”



------解决方案--------------------
我觉得这几乎不可能,或许真有方法可以实现类似楼主所说的效果,但是我没听说过。
如果硬要这么做,有个笨办法倒是可以实现。
用一个模拟窗口,和你要调节的窗口一样大小位置,但是覆盖在其上,对下面的窗口截屏+锐化处理后贴在模拟窗口上,再将这个模拟上获得的键盘鼠标动作传到下面的窗口。
呵呵,工作量似乎有点大,难度同样也不小,可惜这就是我能想出来的东东了。楼主还是别尝试了吧。
------解决方案--------------------
我觉得这个东西并非是程序的直接需求,而应该是楼主为了解决一个问题而想出来的方法。
如果真是这样的话,还是请楼主把实际遇到的问题拿出来讨论一下吧,或许根本不必这么费力的。
------解决方案--------------------
我用的就是错位制造阴影,没发现有什么不妥,效果也不错
------解决方案--------------------
已测试过改注册表的值后是可以的。现在的问题是如何改注册表后立即生效。
网上介绍的方法都不能立即生效。

用以下API均不能实现立即生效
BroadcastSystemMessage BSF_POSTMESSAGE, BSM_APPLICATIONS, WM_SYSCOMMAND, SC_MINIMIZE, ByVal 0&
SendMessageTimeout HWND_BROADCAST, WM_SETTINGCHANGE, 0, "Environment", SMTO_ABORTIFHUNG, 5000, 1
SendMessage HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0
SendMessage WM_FontChange, HWND_BROADCAST, 0, 0
SendMessage HWND_BROADCAST, WM_FontChange, 0, 0