Возможное решение: $ code = MsgBox (0, $ title, $ message)
Но это вызовет и покажет MessageBox в этой точке (не в GUICtrlSetData).
Когда вы нажимаете «ok» в MsgBox, он возвращает значение вашего действия по этой ссылке: http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm
Следовательно, $ code возвращает 1 - что указывает на то, что вы нажали OK.
РЕДАКТИРОВАТЬ: (Теперь, когда я понимаю, что ICE хотел получить) Используйте этот код:
$code = 'MsgBox(0, ' & '"' & $title & '"' & ', ' & '"' & $message & '"' & ')'
Хорошо, прежде чем вы (и другие) застрелите меня с помощью WTF и всего использования "и", позвольте мне объяснить:
Когда вы напечатаете $ code, он сгенерирует:
MsgBox(0, "test", "messages and messages and messages")
Этот код, как хотелось бы ICE, можно скопировать и сразу использовать в коде ICE. Отсюда и необходимость использовать одинарные кавычки (') для блокировки текста, а двойные кавычки (") как обычный текст - для генерации приведенного выше кода.
Если я не поставил комбинацию одинарных и двойных кавычек, она сгенерирует (что я выяснил после тестирования):
MsgBox(0, test, messages and messages and messages)
И этот код выше не будет работать после простого копирования и вставки в AutoIt. Вам нужно добавить эти кавычки (двойные или одинарные).
AutoIT работает с одинарными или двойными кавычками в качестве текстового маркера, поэтому выбирайте тот, который вам удобен. Если вам нужно экранировать двойную кавычку как текст, используйте одинарную кавычку в качестве текстового маркера и наоборот.
Надеюсь это поможет.