我正在尝试将URL发送到后台应用。我尝试过以下方法:
url = https://www.google.nl/?gws_rd=ssl#q=autohotkey+send+url
ControlSendRaw, , %url%, Mozilla Firefox
url= {Raw}https://www.google.nl/?gws_rd=ssl#q=autohotkey+send+url
ControlSend, , %url%, Mozilla Firefox
url := "https://www.google.nl/?gws_rd=ssl#q=autohotkey+send+url"
ControlSendRaw, , %url%, Mozilla Firefox
//output: https;//www.google.nl//gws-rd=ssl3q=autohotkey=send=url
输出错误,:
等符号被误输为;
我宁愿不修改字符串本身,否则我必须自动化该过程,因为我动态地获取它们。
有没有办法用它的确切字符输出一个字符串?
答案 0 :(得分:1)
你展示了你尝试过的东西,但结果是什么? 我只能假设某些角色丢失了,在那种情况下
SetKeyDelay 10, 10
可能会有所帮助。
答案 1 :(得分:1)
ControlSend有一个已知的可靠性问题,其中 Shift 键并不总是被按住。这意味着大写字母或特殊符号并不总是正确输入。 (参见 ControlSend gets upper/lower case wrong? )
请注意,您网址中输入错误的符号需要按住shift键。 (:
,?
,_
,#
,+
)
SetKeyDelay, 10, 10
ControlSend, , %url%, Mozilla Firefox
使用SetKeyDelay
设置密钥延迟可以提高发送的击键的可靠性。我发现延迟5或10通常足以解决任何大写问题。
WinActivate, Mozilla Firefox
SendInput, %url%
如果您要将输入发送到不在后台的应用,我建议您使用WinActivate
并使用Send
或SendInput
关注您的窗口。这些命令通常更可靠地发送输入。