au3脚本编译后在XP系统远行不了 【已解决】
本帖最后由 爱火箭528 于 2017-5-25 15:23 编辑开发一个au3脚本编译后,在XP系统上面运行出错,XP系统是要注意什么嘛、、、 回复 1# 爱火箭528
XP 不需要注意甚麼
重點是你的程式內容吧
請上程式 回复 2# kk_lee69
是这样的,我们做了一个项目:用au3脚本来实现plsql这个客户端代填,是通过页面调au3编译后的文件。在win 64位上是可以实现的,但是在XP上运行是就呼不起来、、 通过页面调au3编译后的文件----页面有没有调用成功?
用au3脚本来实现plsql这个客户端代填---这个大概是怎么操作的。 回复 4# 1361739590
就是通过SSO来实现页面啊,在本地安装一个插件通过页面调au3啊。 回复 5# 爱火箭528
聽起來像是 IE 版本上的問題吧
沒上 程式 想幫妳的也很難了 回复 6# kk_lee69
#RequireAdmin
#Region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_outfile=ORA_PLSQL_V11.0_5950.exe
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
#include <../utils.au3>
#include <../Debug.au3>
Opt("TrayIconHide", 1) ;0=show, 1=hide tray icon
If $CmdLine == 15 Then
Local $net_sid = $CmdLine;
Local $net_ip = $CmdLine;
Local $net_port = $CmdLine;
Local $ip = $CmdLine;
Local $port = $CmdLine;
Local $user = $CmdLine;
Local $pwd = $CmdLine;
Local $sessionId = $CmdLine;
Local $fortIp = $CmdLine;
Local $type = $CmdLine;
Local $dabase_name = $CmdLine; 数据库名
Local $net_style = $CmdLine;
Local $Con_identity = $CmdLine;
Local $pid = $CmdLine;
Local $client = $CmdLine;
Local $len_ip = StringLen("t_ip=");
Local $aim_ip = StringTrimLeft($ip, $len_ip);
Local $len_port = StringLen("t_port=");
Local $aim_port = StringTrimLeft($port, $len_port);
Local $len_userId = StringLen("uid=");
Local $aim_userId = StringTrimLeft($user, $len_userId);
Local $len_pwd = StringLen("pwd=");
Local $aim_password = StringTrimLeft($pwd, $len_pwd);
Local $len_client = StringLen("client_ver=");
Local $aim_client = StringTrimLeft($client, $len_client);
Else
MsgBox(1,"错误!","参数错误,num=" & $CmdLine);
Exit 13;
EndIf
Plsql();
;启动程序
Func Plsql()
;_DebugSetup("ORA_PLSQL_V11.0_5950", False);
_DebugReport (_DebugBugReportEnv());
; 运行客户端程序
;Local $pid = Run($plSQL_Rpath);
If($net_style == 1) Then
$pid = $pid;
ElseIf($net_style== 0) Then
;读取plsql路径
Local $plSQL_Rpath = IniRead(@ScriptDir & "\db_path.ini", "path", "plsql", "ERROR") ;找到plsql安装根路径
If($plSQL_Rpath == "ERROR") Then
MsgBox(1,"错误!","未读取到plsql工具根路径");
Exit 20;
EndIf
$pid = Run($plSQL_Rpath);
EndIf
$ssolog = FileOpen(@ScriptDir & "\log\ssolog.txt", 10)
_DebugReportVar("ssolog", $ssolog);
; 检查打开的文件可写
If $ssolog = -1 Then
MsgBox(0, "错误", "ssolog.txt 不能打开文件.")
Exit
EndIf
FileWrite($ssolog, "["&@YEAR&"-"&@MON&"-"&@MDAY&" "&@HOUR&":"&@MIN&":"&@SEC&":"&@MSEC&"]"&"ORACALE-PLSQL:登录窗口正在打开"& @CRLF)
;新建连接
BlockInput(1)
WinActivate("");
Local $rv = WinWait("","",20);
If($rv == 0)Then
BlockInput(0)
MsgBox(1,"错误!","等待登录plsql窗口失败");
FileClose($ssolog);
Exit 10;
EndIf
WinSetState($rv, "", @SW_SHOW);
FileWrite($ssolog, "["&@YEAR&"-"&@MON&"-"&@MDAY&" "&@HOUR&":"&@MIN&":"&@SEC&":"&@MSEC&"]"&"ORACALE-PLSQL:登录初始界面打开"& @CRLF)
;Sleep(1);
FileWrite($ssolog, "["&@YEAR&"-"&@MON&"-"&@MDAY&" "&@HOUR&":"&@MIN&":"&@SEC&":"&@MSEC&"]"&"ORACALE-PLSQL:请求参数是"&$pid&","&$aim_userId&","&$aim_password&","&$dabase_name&","&$Con_identity& @CRLF)
FileClose($ssolog)
;Send($aim_password);
;Sleep(1);
BlockInput(1)
__TransEngWrite();
ControlSetText($rv, "", "TEdit2", $aim_userId);
ControlSetText($rv, "", "TEdit1", $aim_password);
ControlSetText($rv, "", "Edit1",$dabase_name);
ControlCommand($rv, "", "TComboBox2","SelectString", $Con_identity);
;连接
ControlClick($rv, "", "TButton2")
BlockInput(0)
EndFunc
回复 7# 爱火箭528
話說到這邊 當出現錯誤的時候應該會告訴你是哪一行 出現錯誤
能說是哪行出現錯誤嗎?? 回复 8# kk_lee69
不是说这个出错、、、我的意思是这个脚本在XP里面有啥限制没有、、、我发的这个没有问题。 回复 9# 爱火箭528
這樣說好了
AU3 發展的時候 是從 XP 開始
當 WIN7 剛出來的時候 有些相容性的問題然後64位元有需要注意的
現在則是 WI10 會遇到一些問題....
但是 XP 基本上就是最基礎的系統......所以理論上最不會有問題....
另外AU3 版本 可能會影像某些狀況
譬如 某個版本的 EXCEL UDF 做某些事情 不穩定但是 換成舊版的AU3 就會正常.... 不同系统之间肯定有区别。
不能把区别都说出来吧。
你现在是具体哪边有问题,就看哪边就好了。
xp下是哪一步不能起作用呢?
页:
[1]