按键精灵(界面输入框有关问题)

我需要调用文档输入某游戏账号密码,但是账号能输入,密码却不能输入。
下面是我写的两种方式,但都无法直接输入密码

命令一:(调用(界面输入框文本2)直接输入。
SayString Form1.InputBox2.Text'
结果:内容无法输入密码框
命令二:(调用(界面输入框文本2)复制到剪贴板,按键Ctrl+V)
Call Plugin.Sys.SetCLB(Form1.InputBox2.Text)
KeyDown "Ctrl", 1
KeyPress "V", 1
KeyUp "Ctrl", 1
结果:内容无法输入密码框
命令三:(KeyPress输入能解决输入问题,但无法调用路径(界面输入框文本2)的内容,脚本提示错误)
Dim a
PSW="Form1.InputBox2.Text"
PSW_Len=Len(PSW)
ReDim a(PSW_Len)
i=0
For PSW_Len
a(i) = Mid(PSW,1+i,1)
If Asc(a(i))>=97 and Asc(a(i))<=122
// 英文大写
KeyPress Asc(a(i))-32,1
ElseIf Asc(a(i))>=65 and Asc(a(i))<=90
// 英文小写
KeyDown 16,1
KeyPress Asc(a(i)),1
KeyUp 16,1
ElseIf Asc(a(i))>=48 and Asc(a(i))<=57
// 数字
KeyPress Asc(a(i)),1
Else
MessageBox "密码: " & PSW &" 含有符号,不适用此脚本"
EndScript
EndIf
i = i + 1
EndFor
类似(命令三KeyPress输入的)我看到过,把内容放置在剪贴板然后调用剪贴板的内容KeyPress输入)大神们求语句。

PSW="Form1.InputBox2.Text",改为PSW=Form1.InputBox2.Text

还有,你这个用ASCII的方法,不是最好的方法,你的代码只能输入字母和数字组合的密码,我给你一个我以前做好的函数给你,你直接调用就行了,函数如下:

Sub KeyList(Strings,Delay_ms)
    Dim AllKey, AllKeyAsc, KeyAsc, i, j
    
    AllKey = "0123456789abcdefghijklmnopqrstuvwxyz`-=[]\;',./)!@#$%^&*(ABCDEFGHIJKLMNOPQRSTUVWXYZ~_+{}|:""<>?"
    AllKeyAsc = "48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,192,189,187,219,221,220,186,222,188,190,191"
    KeyAsc = Split(AllKeyAsc, ",")
    
    If Delay_ms < 20 Then 
        MessageBox "按键延迟不能小于20毫秒"
        Exit Sub
    End If
    
    For i = 1 To Len(Strings)
        j = 0
        Do
            If Mid(Strings, i, 1) = Mid(AllKey, j + 1, 1) Then 
                If j < 47 Then 
                    KeyDown Clng(KeyAsc(j)), 1
                    Delay 20
                    KeyUp Clng(KeyAsc(j)), 1
                    Delay Delay_ms - 20
                    Exit Do
                ElseIf j > 46 And j < 94 Then
                    KeyDown 16, 1
                    KeyDown Clng(KeyAsc(j - 47)), 1
                    Delay 20
                    KeyUp Clng(KeyAsc(j - 47)), 1
                    Delay Delay_ms - 20
                    KeyUp 16, 1
                    Exit Do 
                ElseIf j > 93 Then
                    MessageBox "密码存在不能识别的字符"
                    Exit Sub 
                End If
            End If
            j = j + 1
        Loop
    Next
End Sub

'调用方法:
Call KeyList("125abC~../", 100)

追问

按照这个程序Call KeyList("125abC~../", 100)应该输入的密码应该是“125abC~../”,是我提问的第三条命令的优化版。不过我要问的是,能不能把125abC~../改成或者添加.tet路径。目的是,调用界面输入框里或.tet的路径或从剪贴板获得的内容执行输入密码。而不是在程序里固定写好的密码来执行输入。

追答

你自己不是已经写了这句吗:PSW=Form1.InputBox2.Text(注意要去掉双撇)

你写的这句话就是读取界面的内容,对吧,这个不用我解释了吧。

获取界面编辑框内容后,调用的时候就可以这样:Call KeyList(PSW, 100)

这样不就实现了你的功能了吗,再说你想读某个txt的账号密码,你可以用file插件先读取文件内容,再调用函数。按键精灵软件解释file插件已经很详细了。

建议用ReadFileEx这个函数。

又如你又想获得剪切板内容。请看按键精灵自带函数:

上面有一个得到剪切板内容,看到了吗,你想熟练用好按键精灵,里面的插件和vbs命令一定要全部了解,要不你怎么知道按键精灵能干什么?

写程序要自己学会变通和举一反三,总不可能什么问题都要找别人帮助,或者问别人,要是这样,问题永远问不完。

追问

就是PSW=Form1.InputBox2.Text
是错误的!执行输入的时候直接输入的是Form1.InputBox2.Text而不是调用(界面输入框2)的内容。

追答

我都说了,PSW=Form1.InputBox2.Text 和 PSW="Form1.InputBox2.Text",这两个是不一样的,仔细仔细看清楚了,前面一句是没双撇的,表示获取界面输入框的内容,后面一句是有双撇的,有双撇的是表示字符串,就不是表示界面控件了。你仔细看准我给你的代码,是没有带双撇的。而你写的时候加了双撇。你再看看我最开始回答的第一句话,是不是叫你把那个双撇去掉?
你再看清楚,我调用的时候,Call KeyList(PSW, 100),括号的PSW也是没双撇的,表示变量,如果你加了双撇,就变成字符串PSW,假如你又写错了,你是不是说我代码不行?先自己仔细检查,你这样粗心,怎样能写好程序?

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-11-14
不懂你要问什么追问

我要问的就是“命令三”中的“PSW”输入的内容。能否调用路径。

第2个回答  2017-11-14
九月九日忆山东兄弟(王维)
第3个回答  2017-11-14
秋夜寄邱员外(韦应物)
第4个回答  2017-11-14
渡汉江(李频)

按键精灵 输入框的 问题
End Event 这里面得语句就是窗体语句,按键精灵运行是不会提示那个语句,也就是直接无视。Dim 输入框文本 输入框文本 = Form1.InputBox1.Text MessageBox 输入框文本 这里就是运行脚本时的语句,会被运行,与窗体事件无关,与窗体参数有关,参数就是Form1.InputBox1.Text 也就是说,QUI分三类了:...

关于按键精灵输入框的问题,输入框输入的数字等于我定义的变量,现在不...
先定义个变量,比如t UserVar t= 0 "延时"然后设置延时 Delay t 做成小精灵后就可以自定义了

按键精灵弹出inputbox输入框怎么自动输入文字?
第一种是通过模拟鼠标点击输入框后,使用按键精灵的文本输入功能。具体步骤为:先模拟鼠标点击输入框区域,然后在按键精灵中使用相应的命令模拟键盘输入文字。另一种方法是使用其他程序自动输入文字后,切换至按键精灵操作。例如,可以使用其他脚本或程序自动执行复制和粘贴操作,然后在按键精灵中执行鼠标点击输入...

按键精灵界面输入框问题?一次输入会被识别成三次
你这个就是一个改变事件,在每一次改变的时候去输出文件框内的值,出现三个数很正常 你需要的是结束事件,如在 Change 里检测回车的输入,即输入回车表示输入结束,读取文科的值,或者是加一个按钮,通过点击按钮读取文本框的值

按键精灵(界面输入框有关问题)
还有,你这个用ASCII的方法,不是最好的方法,你的代码只能输入字母和数字组合的密码,我给你一个我以前做好的函数给你,你直接调用就行了,函数如下:Sub KeyList(Strings,Delay_ms) Dim AllKey, AllKeyAsc, KeyAsc, i, j AllKey = "0123456789abcdefghijklmnopqrstuvwxyz`-=[]\\;',.\/...

按键精灵InputBox(输入框)的问题!请问如果实现在界面修改InputBox中的数...
Form1.InputBox1.Text 就是输入框的值,直接延时Form1.InputBox1.Text 就行 Delay Form1.InputBox1.Text

按键精灵的输入框变量问题
这里面得语句就是窗体语句,按键精灵运行是不会提示那个语句,也就是直接无视。Dim 输入框文本 输入框文本 = Form1.InputBox1.Text MessageBox 输入框文本 这里就是运行脚本时的语句,会被运行,与窗体事件无关,与窗体参数有关,参数就是Form1.InputBox1.Text 也就是说,QUI分三类了:窗体事件、...

按键精灵界面事件,小精灵输入怎么动不关脚本的事
\/\/建议界面里再加一个按钮,然后点设置界面,在脚本里面把下面代码复制进去 Event Form1.Button1.Click n=Form1.InputBox1.Text \/\/意思是当单击按钮时n=输入框里的内容 End Event For n \/\/里面添加你要循环的命令 Next

按键精灵的qui节目问题,关于输入框的焦点的问题,懂的进来看看
当输入框失去输入焦点的时候就会触发失去焦点的事件。例如我们在网站注册账号的时候,通常在我们输入用户名后,把光标移到别的输入框的,如果你输入的用户名是网站已经存在的,它会提示“用户名存在”。这样子的情况就是通过失去焦点事件中进行检查然后反馈给用户的。那么在按键精灵中如何添加这样子的事件?...

按键精灵怎么换下一格输入框
1、首先进入按键精灵app打开编写界面。2、其次点击输入框。3、最后选择输入框属性打开选项多行输入,按Tab键即可换一下格输入框。

相似回答