Ich hab mir eine ganz einfache Variante überlegt, wie ich meinen MsgBox-Buttons eine andere Beschriftung zukommen lassen kann. Das ist dabei herausgekommen:
Wie es begann...
#Include <File.au3>
Local $filelines[6]
Local $filename = @TempDir&"\MsgText.au3"
$filelines[0] = '#NoTrayIcon'
$filelines[1] = 'Opt("WinWaitDelay",0)'
$filelines[2] = 'WinWaitActive("[Class:#32770]")'
$filelines[3] = 'ControlSetText("","","Button1","Bin dabei")'
$filelines[4] = 'ControlSetText("","","Button2","Mag nicht")'
$filelines[5] = 'ControlSetText("","","Button3","Vielleicht")'
_FileWriteFromArray($filename, $filelines)
Run(RegRead("HKLM\SOFTWARE\Autoit v3\Autoit","Installdir")&"\AutoIt3.exe " & $filename)
MsgBox(34,"Frage","Gehst du heute mit mir aus?")
[/autoit] [autoit][/autoit] [autoit]FileDelete($filename)
[/autoit]Wie es nun fertig aussieht
Func _MsgBoxIndividual($flag, $title, $text, $btn_text1 = "OK", $btn_text2 = "Nein", $btn_text3 = "Vielleicht")
Local $str = "Local $x = Opt('WinWaitDelay',50)+WinWait('"&$title&"','')+" & _
"ControlSetText('"&$title&"','"&$text&"','Button1','"&$btn_text1&"')+" & _
"ControlSetText('"&$title&"','"&$text&"','Button2','"&$btn_text2&"')+" & _
"ControlSetText('"&$title&"','"&$text&"','Button3','"&$btn_text3&"')"
Run('"' & @AutoItExe & '" /AutoIt3ExecuteLine "' & $str & '"')
Sleep(100)
Return MsgBox($flag, $title, $text)
EndFunc
Dank an progandy für den Aufrufparameter /AutoIt3ExecuteLine