自动热键 - 使用多行代码作为变量插入文件

Auto-hotkey - use a multiline code as a variable to insert in a file

我在 Stack-Overflow 中找到了以下与我相关的 ,但该解决方案对我不起作用。

我想编译一个 AHK 脚本,它在 Notepad++ 中打开文件并在特定行插入代码。我有 AHK 脚本来处理普通字符串,但它不适用于我尝试使用的代码。

我想使用记事本++在文件中插入以下代码

<Macro name="Remove Navis folders" Ctrl="no" Alt="no" Shift="no" Key="0">
<Action type="0" message="2318" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1700" wParam="0" lParam="0" sParam="" /></Macro>"

这是我的脚本

    obj := {"key": 
(
    <Macro name="Remove Navis folders" Ctrl="no" Alt="no" Shift="no" Key="0">
<Action type="0" message="2318" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1700" wParam="0" lParam="0" sParam="" /></Macro>
)}

Run, notepad++.exe %A_AppData%\Notepad++\shortcuts.xml
Sleep, 200
Send, ^{Home}
Send, ^f
Sleep, 200
Sendraw, <Macros>
Send, {ENTER}{ESC}{Right}
Sleep, 200
Send, {ENTER}{Tab}
Sleep, 200
Send, % obj["key"]

您必须将整个文本放入作为代码一部分的“和转义”中,否则会出错。

obj := {"key": 
(
"<Macro name=""Remove Navis folders"" Ctrl=""no"" Alt=""no"" Shift=""no"" Key=""0"">
<Action type=""0"" message=""2318"" wParam=""0"" lParam=""0"" sParam="""" />
<Action type=""3"" message=""1700"" wParam=""0"" lParam=""0"" sParam="""" /></Macro>"""
)}

MsgBox % obj["key"]