找回密码
 加入
搜索
查看: 7324|回复: 18

关于AU3加载皮肤的问题

[复制链接]
发表于 2008-5-17 15:58:40 | 显示全部楼层 |阅读模式
偶尔见到一个仁兄的AU3 GUI界面加载了挺漂亮的皮肤,我问他怎么做的,他只是敷衍的告诉我说到下面的网站看看就明白了
http://www.skincrafter.com/skingal.php#
可惜我英文水平有限,没看明白,而且找到的提供的实例都是以C++、C#等语言为实例的,不知道AU3的怎么弄

在这个网站下载的皮肤外观为skf为后缀,哪位老兄能赐教一下用AU3怎么加载这种皮肤啊

[ 本帖最后由 skyfree 于 2008-5-17 16:44 编辑 ]
发表于 2008-5-17 16:06:16 | 显示全部楼层
我也不懂,以前在有个源代码里看到有部分,给你看看是否有帮助(原文件已经找不到,大概是这个样子)。
加载皮肤:
FileInstall("style.skf", @TempDir& "\style.skf",1)

退出的时候加入删除皮肤代码:
FileDelete ( @TempDir&"\style.skf" )
 楼主| 发表于 2008-5-17 16:11:25 | 显示全部楼层
……

FileInstall只是把皮肤从AU3程序中解包出来,并不是加载……

帮忙找找怎么加载,谢谢老兄了!
发表于 2008-5-17 16:13:55 | 显示全部楼层
楼主是自由天空么,哈哈??
应该是这样用的:
$mainwindow = GUICreate("这里是主题", 600, 500)
_SkinGUI("SkinCrafterDll.dll", "Vista.skf", $mainwindow)

Func _SkinGUI($SkincrafterDll, $SkincrafterSkin, $Handle)
   $Dll = DllOpen($SkincrafterDll)
   DllCall($Dll, "int:cdecl", "InitLicenKeys", "wstr", "1", "wstr", "", "wstr", "1@1.com", "wstr", "1")
   DllCall($Dll, "int:cdecl", "InitDecoration", "int", 1)
   DllCall($Dll, "int:cdecl", "LoadSkinFromFile", "wstr", $SkincrafterSkin)
   DllCall($Dll, "int:cdecl", "DecorateAs", "int", $Handle, "int", 25)
   DllCall($Dll, "int:cdecl", "ApplySkin")
EndFunc

需要SkinCrafterDll.dll 和这网上下的SKF皮肤文件
 楼主| 发表于 2008-5-17 16:18:15 | 显示全部楼层
嘿嘿,正是在下。谢谢您的回答,方便的话能把SkinCrafterDll.dll也上传一下么?或直接传给我也行,我QQ:165718402
发表于 2008-5-17 16:26:00 | 显示全部楼层
我下过两个的, 两个不一样大,  其中一个,能正常使用,但在程序退出时报告内存不能读, 当时就一个VISTA皮肤文件, 不确定是皮肤问题还是这文件错误来

上传的这个测试了几个皮肤都可以正常使用

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2008-5-17 16:32:40 | 显示全部楼层
不过测试时, 在SCITE里F5, 正常显示, 退出程序就报AUTOIT3.EXE错误,  但是编译后运行没问题, 一切OK
那个皮肤网站很不错,真想把所有皮肤都给打包下来...

记的你论坛里发的工具都是VISTA皮肤的, 还以为你使用VISTA皮肤呢,看来是你系统本就是VISTA ??
 楼主| 发表于 2008-5-17 16:33:33 | 显示全部楼层
……

我的系统是VISTA,所以截图就都是那样的了……

谢谢你了!
发表于 2008-5-17 17:11:22 | 显示全部楼层
不知你上边的DLL是不是一区修正的。原论坛发的是破解有问题的。

最新没问题的,应该是一区兄弟修正的。

AU3调用应该是这样,退出也要函数处理的。这样不会出错了。

;
;
Func Quit()
    GUISetState(@SW_HIDE)
    DllCall($dll, "int:cdecl", "DeInitDecoration")
    DllCall($dll, "int:cdecl", "RemoveSkin")
    DllClose($dll)
        ;DirRemove(@AppDataDir&"\skin",1)
    Exit
EndFunc

Func _SkinGUI($SkincrafterDll, $SkincrafterSkin, $Handle) 
   $Dll = DllOpen($SkincrafterDll) 
   DllCall($Dll, "int:cdecl", "InitLicenKeys", "wstr", "1", "wstr", "", "wstr", "1@1.com", "wstr", "1") 
   DllCall($Dll, "int:cdecl", "InitDecoration", "int", 1) 
   DllCall($Dll, "int:cdecl", "LoadSkinFromFile", "wstr", $SkincrafterSkin) 
   DllCall($Dll, "int:cdecl", "DecorateAs", "int", $Handle, "int", 25) 
   DllCall($Dll, "int:cdecl", "ApplySkin") 
EndFunc      ;==_SkinGUI
;
;
 楼主| 发表于 2008-5-17 17:12:44 | 显示全部楼层
谢谢补充!
 楼主| 发表于 2008-5-17 17:17:52 | 显示全部楼层
$Dll是不是要Global一下?
发表于 2008-5-17 17:20:12 | 显示全部楼层
哦, 退出那段, 确实忘了, 哈哈

恩,我发的那个版本好象是2.7的,  刚才找了几个破解的, 有2.8 和3.0的, 可惜都是唬人的, ...全是DEMO
发表于 2008-5-17 17:23:52 | 显示全部楼层
嗯。加上这句就好Global $Dll

关于2。8的最新破解版,我发到中文资料区吧。
不过可能需要金钱下载。为了论坛发展需要。
发表于 2008-5-17 17:24:43 | 显示全部楼层
哈哈, 我去等着下去

[ 本帖最后由 llztt 于 2008-5-17 17:26 编辑 ]
发表于 2008-5-20 19:01:51 | 显示全部楼层
楼上的兄弟原来是在这里 瞄到的呀

原来是SKY老大问的问题呀
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-30 05:28 , Processed in 0.085395 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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