内镶IE加载皮肤后关闭时内存出错(已解决)
本帖最后由 自然 于 2012-7-5 00:37 编辑各位大大看看是什么原因,在论坛找了好久没找到解决的方法
#Region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_icon=10.ico
#AutoIt3Wrapper_UseUpx=n
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
FileInstall("SkinCrafterDll.dll", @TempDir & "\SkinCrafterDll.dll", 1)
FileInstall("Konel.skf", @TempDir & "\Konel.skf", 1)
$Dll = DllOpen(@TempDir & "\SkinCrafterDll.dll")
Opt("TrayMenuMode",1)
$title="Test"
$oIE = ObjCreate("Shell.Explorer.2")
$Form1 = GUICreate($title, 600, 480, -1, -1 )
_SkinGUI(@TempDir & "\SkinCrafterDll.dll", @TempDir & "\Konel.skf", $Form1)
$GUIActiveX = GUICtrlCreateObj($oIE, -0, -0,1500, 1000)
GUISetState()
$oIE.document.body.scroll = "no"
$oIE.navigate("http://www.autoitx.com/")
ControlListView($title, "", "SysListView321", "ViewChange", "smallicons")
While 1
if GUIGetMsg() = -3 Then Exit
WEnd
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 & "\Konel.skf")
Exit
EndFunc 附上皮肤文件:
可能和系统或者IE浏览器有关系,我这边测试没有问题 已解决,从新注册DLL文件已不提示,感谢楼上的测试提醒。
页:
[1]