Демонстрирующий пример:
1) Запускаем вышеприведенный скрипт. Вместо надписи "CALC A & B" на кнопке видим "CALC A _B". Результат ожидаем.
2) Компилируем скрипт с настройками комилятора по умолчанию. Запускаем полученный exe. Вместо надписи "CALC A & B" на кнопке видим "CALC A B". Подчеркивания нет!
Парметры среды эксперимента:
AutoIt 3.3.12.0
SCiTE 3.4.1
Windows 8.1 x64 (так же проверено на Windows 7 x86).
Код:
Opt('GUIOnEventMode', 1)
#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>
$par_max = 100
Local $param[$par_max][$par_max]
$param[0][0] = 2
$param[0][1] = "Notepad"
$param[1][1] = "notepad.exe"
$param[0][2] = "CALC A & B"
$param[1][2] = "c:\A&B\calc.exe"
HotKeySet("{ESC}", "fn_Exit")
$but = 1
$but_max = $param[0][0]
Local $Button[$but_max+1]
GUICreate("ProgPanel 1.0", 160, 60*($but_max+1))
While $but <= $but_max
GUICtrlCreateIcon($param[1][$but], 0, 10, 10*$but + 40*($but-1), 32, 32)
$Button[$but] = GUICtrlCreateButton($param[0][$but], 50, 10*$but + 40*($but-1), 100, 32)
GUICtrlSetOnEvent(-1, "fn_Run")
$but = $but + 1
WEnd
$Button[0] = GUICtrlCreateButton("Выход", 10, 10*($but) + 50*($but-1), 140, 32)
GUICtrlSetOnEvent(-1, "fn_Exit")
GUISetOnEvent(-3, "fn_Exit")
GUISetState()
While 1
Sleep(10000)
WEnd
Func fn_Run()
for $i = 0 to $but_max
if (@GUI_CtrlId = $Button[$i]) then
Run($param[1][$i])
endif
next
EndFunc
Func fn_Exit()
Exit
EndFunc
1) Запускаем вышеприведенный скрипт. Вместо надписи "CALC A & B" на кнопке видим "CALC A _B". Результат ожидаем.
2) Компилируем скрипт с настройками комилятора по умолчанию. Запускаем полученный exe. Вместо надписи "CALC A & B" на кнопке видим "CALC A B". Подчеркивания нет!
Парметры среды эксперимента:
AutoIt 3.3.12.0
SCiTE 3.4.1
Windows 8.1 x64 (так же проверено на Windows 7 x86).