net_e 发表于 2010-11-19 17:02:55

[已解决]谁换提供个换肤的例子呢?

本帖最后由 net_e 于 2010-11-19 18:24 编辑

{:face (427):}大牛们,

#Region ### START Koda GUI section ### Form=
FileInstall("hlong.she",@TempDir&"hlong.she",1)
FileInstall("Skin.dll",@TempDir&"Skin.dll",1)
$skins=@TempDir&"hlong.she"
$Dll = DllOpen(@TempDir&"Skin.dll")
DllCall($Dll, "int", "SkinH_AttachEx", "str", $skins, "str", "mhgd")
DllCall($Dll, "int", "SkinH_SetAero", "int", 0) ;参数 0 改为 1支持vista半透明边缘效果.

这个要怎么换肤啊?

自己搞定了,原来直接DllCall($Dll, "int", "SkinH_AttachEx", "str", $skins, "str", "mhgd") 再载入就能生效的。

yhxhappy 发表于 2010-11-19 17:55:50

本帖最后由 yhxhappy 于 2010-11-19 17:58 编辑

楼主,@TempDir 这个返回的路径是没有后面的一个 \ 的,所以完整的文件应该是这样:
@TempDir&"\hlong.she"
@TempDir&"\Skin.dll"

你试试看,会不会是这个原因呢

我以前在网上找的一个换 msstyles 格式的皮肤是这么写的,我只会用,也不明白意思:
$SKINS = @ScriptDir & "\SK.msstyles"                                                                ;这里设定 $skins 为皮肤路径
$Dll_ = DllOpen(@ScriptDir & "\USkin.dll")                                                        ;这里设定 $Dll_ 为皮肤调用文件 USkin.dll 的路径
DllCall($Dll_, "int", "USkinInit", "str", "Null", "str", "NULL", "str", $SKINS)        ;载入皮肤到DLL返回值
DllCall($Dll_, "int", "USkinLoadSkin", "str", $SKINS)                                                ;启用皮肤

net_e 发表于 2010-11-19 18:18:36

谢谢楼上指出
页: [1]
查看完整版本: [已解决]谁换提供个换肤的例子呢?