找回密码
 加入
搜索
查看: 2551|回复: 5

[AU3基础] [已解决]帮忙看看这段AU3代码为什么无法编译?

  [复制链接]
发表于 2010-5-16 23:59:39 | 显示全部楼层 |阅读模式
本帖最后由 离我远点 于 2010-5-17 11:17 编辑
#Region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_icon=web2logo_011.ico
#AutoIt3Wrapper_outfile=IE搜索.exe
#AutoIt3Wrapper_Compression=4
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
#include <IE.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Global $configPath = @ScriptDir & "\config.ini" 
Global $lnk1 = IniRead($configPath,"config","百度",0) 
Global $lnk2 = IniRead($configPath,"config","搜狗",0) 
Global $lnk3 = IniRead($configPath,"config","谷歌",0) 
FileInstall(@ScriptDir & "\SkinCrafterDll.dll", @TempDir & "\SkinCrafterDll.dll",1)
FileInstall(@ScriptDir & "\Flexi_ST.skf", @TempDir & "\Flexi_ST.skf",1)
FileInstall(@ScriptDir & "\baidu.gif", @TempDir & "\baidu.gif",1)
FileInstall(@ScriptDir & "\sogou.gif", @TempDir & "\sogou.gif",1)
FileInstall(@ScriptDir & "\google.gif", @TempDir & "\google.gif",1)
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("IE搜索", 301, 80, 427, 365,BitOR($WS_SYSMENU, $WS_CAPTION, $WS_POPUP), 0)
_SkinGUI(@TempDir & "\SkinCrafterDll.dll", @TempDir & "\Flexi_ST.skf", $Form1)
$Pic1 = GUICtrlCreatePic(@TempDir & "\baidu.GIF", 3, 8, 95, 40)
$Pic2 = GUICtrlCreatePic(@TempDir & "\sogou.gif", 103, 8, 95, 40)
$Pic3 = GUICtrlCreatePic(@TempDir & "\google.gif", 203, 8, 95, 40)
$Label1 = GUICtrlCreateLabel("百度搜索", 25, 55, 52, 17)
$Label2 = GUICtrlCreateLabel("搜狗搜索", 125, 55, 52, 17)
$Label3 = GUICtrlCreateLabel("谷歌搜索", 225, 55, 52, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
        Case $Pic1
                        _IECreate ($lnk1)
                        Exit
                Case $Pic2
                        _IECreate ($lnk2)
                        Exit
                Case $Pic3
                        _IECreate ($lnk3)
                        Exit
                Case $GUI_EVENT_CLOSE
                        Exit
EndSwitch
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
在没有编译的情况下,运行是正常的,但是一编译,系统就提示:
Invalid FileInstall() function

我检查了半天,没检查出问题在哪,麻烦各位AU3高手帮我看一下,错在哪里了?

评分

参与人数 1金钱 +10 收起 理由
afan + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2010-5-17 00:07:14 | 显示全部楼层
把这几行去了
FileInstall(@ScriptDir & "\SkinCrafterDll.dll", @TempDir & "\SkinCrafterDll.dll",1)

FileInstall(@ScriptDir & "\Flexi_ST.skf", @TempDir & "\Flexi_ST.skf",1)

FileInstall(@ScriptDir & "\baidu.gif", @TempDir & "\baidu.gif",1)

FileInstall(@ScriptDir & "\sogou.gif", @TempDir & "\sogou.gif",1)

FileInstall(@ScriptDir & "\google.gif", @TempDir & "\google.gif",1)

或者找到这几个文件放在脚步目录下,应该就可以了
 楼主| 发表于 2010-5-17 00:09:23 | 显示全部楼层
谢谢楼上的!
这几个文件,在程序运行的时候,是要使用的,不能去掉,而且这几个文件我已经跟脚本放在同一目录下了。
发表于 2010-5-17 00:56:09 | 显示全部楼层
本帖最后由 lynfr8 于 2010-5-17 00:57 编辑

要装入到编译程序中的文件的路径.文件名必须是字符串,不能是任何变量. 它可以是一个相对路径(使用 .\ 或者 ..\ 等)

认真看下帮助文件FileInstall
发表于 2010-5-17 01:22:09 | 显示全部楼层
去掉 @ScriptDir 直接如下:
FileInstall("SkinCrafterDll.dll", @TempDir & "\SkinCrafterDll.dll",1)
 楼主| 发表于 2010-5-17 11:16:47 | 显示全部楼层
谢谢各位的帮助!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-10-6 11:24 , Processed in 0.092013 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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