TC官方合作论坛

 找回密码
 立即注册
查看: 1154|回复: 1

[已解决] dllcall 关闭字体平滑不成功

[复制链接]
发表于 2015-4-26 22:51:12 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 WannaPlay 于 2015-4-26 23:12 编辑

反复测试了下,以下autoit3代码可以工作(关闭字体平滑),但在TC下调用无效。(MSDN: https://msdn.microsoft.com/en-us/library/windows/desktop/ms724947(v=vs.85).aspx)
$SPI_SETFONTSMOOTHING = 0x004B
$SPIF_UPDATEINIFILE = 0x1
$SPIF_SENDCHANGE = 0x0002

DllCall("user32.dll", "bool", "SystemParametersInfo", _
        "dword", $SPI_SETFONTSMOOTHING, _
        "dword",0 , _ ; 1 for enable or 0 for disable
        "dword",0, _
        "dword",BitOR($SPIF_UPDATEINIFILE, $SPIF_SENDCHANGE) )


TC5下用以下代码调用没反应
dllcall("user32.dll","bool","SystemParametersInfo","uint",#004B,"uint",0,"uint",0,"uint",#0003)

或者

dllcall("user32.dll","bool","SystemParametersInfo","dword",#004B,"dword",0,"dword",0,"dword",#0003)

解决: 用TC5附带Win32参考里的 SystemParametersInfoW 调用就正常
dllcall("user32.dll","long","SystemParametersInfoW","long",#004B,"long",0,"long",0,"long",#0003)

评分

参与人数 1威望 +10 收起 理由
venski + 10 很给力!

查看全部评分

回复

使用道具 举报

发表于 2015-10-28 21:24:54 | 显示全部楼层
本帖最后由 venski 于 2015-10-28 21:26 编辑

是的,在TC中,很多整型,直接用long来代替就是。
有些语言,有些API区分A和W,有些编程工具编译时会根据系统环境自动选 A或者W
你这个很不错,收藏!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-10-2 10:07 , Processed in 0.041259 second(s), 24 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表