为什么我用AHK调用skincrafter换不了皮肤呢?
根据autoit的代码改写,dll是2.7的,用autoit完全正常哪位大侠帮忙看一下,谢谢了SkinCrafter_AttachSkin(fileSkinDll, fileSkin, hWnd)
{
global $hModule_SkinDll
If !$hModule_SkinDll
$hModule_SkinDll := DllCall("LoadLibrary", Str, fileSkinDll)
; 授权,reg_name, company, email, licenkey
DllCall(fileSkinDll . "\InitLicenKeys", Str, "1", Str, "", Str, "1@1.com",Str, "1", "Cdecl Int")
; 初始皮肤引擎: 模式1 - 换肤所有控件,0 - 部分换肤
DllCall(fileSkinDll . "\InitDecoration", Int, 1, "Cdecl Int")
DllCall(fileSkinDll . "\LoadSkinFromFile", Str, fileSkin, "Cdecl Int")
; 控件皮肤映射为某一标准类型, 25 - Dialog Background
DllCall(fileSkinDll . "\DecorateAs", Int, hWnd, Int, 25, "Cdecl Int")
DllCall(fileSkinDll . "\ApplySkin")
}
SkinCrafter_DetachSkin(fileSkinDll)
{
global $hModule_SkinDll
If $hModule_SkinDll
{
DllCall(fileSkinDll . "\DeInitDecoration", "Cdecl Int")
DllCall(fileSkinDll . "\RemoveSkin", "Cdecl Int")
DllCall("FreeLibrary", "UInt", $hModule_SkinDll)
}
} 回复 1# hughman
这里是autoit论坛,不是AHK论坛,你好像发错地方了...............
:face (31): 我知道,au3、ahk其实差不都,很多人两个都玩过
我的函数是从au3改过来的,所以随便在这里问问,谁能帮我看看问题出在哪里
我查看了所有dllcall的errorlevel,都提示成功 对AHK没研究 我换成Unicode版的就可以了,奇怪了,sc的字符串参数类型都是LPCTSTR,应该同时支持ansi和Unicode的啊
页:
[1]