程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了将字符串参数传递给 ControlSetText 值的问题大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决将字符串参数传递给 ControlSetText 值的问题?

开发过程中遇到将字符串参数传递给 ControlSetText 值的问题的问题如何解决?下面主要结合日常开发的经验,给出你关于将字符串参数传递给 ControlSetText 值的问题的解决方法建议,希望对你解决将字符串参数传递给 ControlSetText 值的问题有所启发或帮助;

嗨,我在我非常简单的脚本中尝试将 CMD 参数传递给 ControlSetText 值时遇到了 terror。不知道我做错了什么,我将参数值作为字符串传递...

第 2 行(文件“C:\Temp\automation-TesTing\UploadInvoice2.exe”):错误: 数组变量的下标数或下标数不正确 超出尺寸范围。

这是我的简单 autoIT 脚本:

ControlFocus("Open","","Edit1")
ControlSetText("Open","Edit1",$Cmdline[1])
ControlClick("Open","button1")

我正在从我的 C# 项目中运行它:

using (Process exeProcess = Process.Start($"{Path.Combine(FrameworkConfig.browserDownloadfilePath,uploadInvoice2.Name)} \"{Path.Combine(FrameworkConfig.browserDownloadfilePath,tesTinvoice.Name)}\""))
           {
                exeProcess.WaitForExit();
            }

Process.Start 中的那个字符串返回:

C:\Temp\automation-TesTing\UploadInvoice2.exe "C:\Temp\automation-TesTing\TesTinvoice.txt"

指向该文件夹中存在的文件: here

所以我将字符串“C:\Temp\automation-TesTing\TesTinvoice.txt”作为参数。但它不起作用。

知道我做错了什么吗? 如果我直接在 autoIt 脚本中对该路径进行硬编码,它将起作用:

ControlFocus("Open","C:\Temp\automation-TesTing\TesTinvoice.txt")
ControlClick("Open","button1")

谢谢,

解决方法

我对 AutoIT 不太熟悉,但是我认为参数是零索引的,因此应该是 $CmdLine[0] 而不是 $CmdLine[1]。

大佬总结

以上是大佬教程为你收集整理的将字符串参数传递给 ControlSetText 值的问题全部内容,希望文章能够帮你解决将字符串参数传递给 ControlSetText 值的问题所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。