|
看到AU3可以直接用dllcall调用外部皮肤特别好。但是最近发现一个问题,这些工具加上皮肤后都不能在windows2000上面运行,希望高手指点。谢谢。这个是源代码的一部分:
$form = GUICreate($title, 480, 360, -1, -1) ;创建一个窗口,标题从INI配置文件里读取
_SkinGUI(@TempDir & "\SkinCrafterDll.dll", @TempDir & "\vista.skf", $form)
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
;皮肤退出
Func Quit()
GUISetState(@SW_HIDE)
DllCall($Dll, "int:cdecl", "DeInitDecoration")
DllCall($Dll, "int:cdecl", "RemoveSkin")
DllClose($Dll)
FileDelete(@TempDir & "\SkinCrafterDll.dll")
FileDelete(@TempDir & "\vista.skf")
FileDelete(@TempDir & "\top.jpg") ;删除临时文件夹里的图片
Exit
EndFunc ;==>Quit |
|