Hi. Here is simple MsgBox generator.
there is more correct code (without use *.ini, *.tmp and AutoHotkey.exe) but he big ~15kb
Code:
;Code
;#################### if extension *.ahk is not registered
IfNotExist, %A_ScriptDir%\msg.ini
{
FileSelectFile, SelectDirAHK, 1, %A_ProgramFiles%, Select AutoHotkey.exe, AutoHotkey (AutoHotkey.exe)
if SelectDirAHK =
{
MsgBox, 4144, Exit, Cancel !
ExitApp
}
else
IniWrite, %SelectDirAHK%, msg.ini, AHK, Dir
}
IfExist, %A_ScriptDir%\msg.ini
{
IniRead, AhkPath, %A_ScriptDir%\msg.ini, AHK, Dir
}
IfNotExist, %AhkPath%
{
MsgBox, 4112, Error, AutoHotkey.exe not found !
FileDelete, %A_ScriptDir%\msg.ini
ExitApp
}
;#################### Form
Gui, Add, Button, gButtonClose x326 y360 w80 h33, Close
Gui, Add, Button, gButtonTest x226 y360 w80 h33, Clipboard
Gui, Add, GroupBox, x16 y127 w190 h145, Buttons
Gui, Add, Radio, vRadioOK x26 y147 w170 h20, OK
Gui, Add, Radio, vRadioOK_Cancel x26 y167 w170 h20, OK/Cancel
Gui, Add, Radio, vRadioAbort_Retry_Ignore x26 y187 w170 h20, Abort/Retry/Ignore
Gui, Add, Radio, vRadioYes_No_Cancel x26 y207 w170 h20, Yes/No/Cancel
Gui, Add, Radio, vRadioYes_No x26 y227 w170 h20, Yes/No
Gui, Add, Radio, vRadioRetry_Cancel x26 y247 w170 h20, Retry/Cancel
Gui, Add, GroupBox, x226 y127 w180 h220, Icon
Gui, Add, Radio, vRadioNone x236 y147 w110 h20, None
Gui, Add, Radio, vRadioHand x236 y187 w110 h20, Error
Gui, Add, Radio, vRadioQuestion x236 y227 w110 h20, Question
Gui, Add, Radio, vRadioExclamation x236 y267 w110 h20, Exclamation
Gui, Add, Radio, vRadioAsterisk x236 y307 w110 h20, Asterisk
Gui, Add, GroupBox, x16 y277 w190 h70, Modal
Gui, Add, Radio, vRadioTask x26 y297 w170 h20, Task
Gui, Add, Radio, vRadioSystem x26 y317 w170 h20, System
Gui, Add, Text, x16 y7 w60 h15, Title
Gui, Add, Text, x16 y50 w60 h15, Message
Gui, Add, Edit, vEditTitle x16 y27 w390 h20,
Gui, Add, Edit, vEditMessage x16 y67 w390 h50,
;testing Win98
Gui, add, Picture, icon6 x356 y140 w32 h32, user.exe
Gui, add, Picture, icon4 x356 y177 w32 h32, user.exe
Gui, add, Picture, icon3 x356 y217 w32 h32, user.exe
Gui, add, Picture, icon2 x356 y257 w32 h32, user.exe
Gui, add, Picture, icon5 x356 y297 w32 h32, user.exe
;for XP do not know ???( user32.dll - icon100 - 104)
Gui, Add, GroupBox, x16 y353 w190 h40, Default Button
Gui, Add, Radio, vRadio1st x26 y367 w40 h20, 1st
Gui, Add, Radio, vRadio2nd x96 y367 w40 h20, 2nd
Gui, Add, Radio, vRadio3rd x164 y367 w40 h20, 3rd
GuiControl,, RadioOK, 1
GuiControl,, RadioNone, 1
GuiControl,, RadioTask, 1
GuiControl,, Radio1st, 1
Gui, Show, x148 y10 h410 w425, MsgBox Code Generator (for AHK)
Return
;#################### Main
ButtonTest:
GuiControlGet, RadioOK
GuiControlGet, RadioOK_Cancel
GuiControlGet, RadioAbort_Retry_Ignore
GuiControlGet, RadioYes_No_Cancel
GuiControlGet, RadioYes_No
GuiControlGet, RadioRetry_Cancel
GuiControlGet, RadioNone
GuiControlGet, RadioHand
GuiControlGet, RadioQuestion
GuiControlGet, RadioExclamation
GuiControlGet, RadioAsterisk
GuiControlGet, RadioTask
GuiControlGet, RadioSystem
GuiControlGet, EditTitle
GuiControlGet, EditMessage
GuiControlGet, Radio2nd
GuiControlGet, Radio3rd
EnvSet, VarInfo, 0
;#################### Radio Modal
if RadioSystem = 1
{
VarInfo = 4096
}
if RadioTask = 1
{
VarInfo = 8192
}
;#################### Radio Buttons
if RadioOK = 1
{
EnvAdd, VarInfo, 0
}
if RadioOK_Cancel = 1
{
EnvAdd, VarInfo, 1
}
if RadioAbort_Retry_Ignore = 1
{
EnvAdd, VarInfo, 2
}
if RadioYes_No_Cancel = 1
{
EnvAdd, VarInfo, 3
}
if RadioYes_No = 1
{
EnvAdd, VarInfo, 4
}
if RadioRetry_Cancel = 1
{
EnvAdd, VarInfo, 5
}
;#################### Radio Icons
if RadioNone = 1
{
EnvAdd, VarInfo, 0
}
if RadioHand = 1
{
EnvAdd, VarInfo, 16
}
if RadioQuestion = 1
{
EnvAdd, VarInfo, 32
}
if RadioExclamation = 1
{
EnvAdd, VarInfo, 48
}
if RadioAsterisk = 1
{
EnvAdd, VarInfo, 64
}
;#################### Radio Default Button
if Radio2nd = 1
{
EnvAdd, VarInfo, 256
}
if Radio3rd = 1
{
EnvAdd, VarInfo, 512
}
;#################### Output
IniRead, AhkPath, %A_ScriptDir%\msg.ini, AHK, Dir
OutputVar = MsgBox`, %VarInfo%`, %EditTitle%`, %EditMessage%
Clipboard = %OutputVar%
FileAppend, %OutputVar%, %A_ScriptDir%\~msg.tmp
RunWait, %AhkPath% %A_ScriptDir%\~msg.tmp
IfExist, %A_ScriptDir%\~msg.tmp, FileDelete, %A_ScriptDir%\~msg.tmp
Return
;#################### Close
ButtonClose:
FileDelete, %A_ScriptDir%\~msg.tmp
ExitApp
GuiClose:
FileDelete, %A_ScriptDir%\~msg.tmp
ExitApp;#################### if extension *.ahk is not registered
IfNotExist, %A_ScriptDir%\msg.ini
{
FileSelectFile, SelectDirAHK, 1, %A_ProgramFiles%, Select AutoHotkey.exe, AutoHotkey (AutoHotkey.exe)
if SelectDirAHK =
{
MsgBox, 4144, Exit, Cancel !
ExitApp
}
else
IniWrite, %SelectDirAHK%, msg.ini, AHK, Dir
}
IfExist, %A_ScriptDir%\msg.ini
{
IniRead, AhkPath, %A_ScriptDir%\msg.ini, AHK, Dir
}
IfNotExist, %AhkPath%
{
MsgBox, 4112, Error, AutoHotkey.exe not found !
FileDelete, %A_ScriptDir%\msg.ini
ExitApp
}
;#################### Form
Gui, Add, Button, gButtonClose x326 y360 w80 h33, Close
Gui, Add, Button, gButtonTest x226 y360 w80 h33, Clipboard
Gui, Add, GroupBox, x16 y127 w190 h145, Buttons
Gui, Add, Radio, vRadioOK x26 y147 w170 h20, OK
Gui, Add, Radio, vRadioOK_Cancel x26 y167 w170 h20, OK/Cancel
Gui, Add, Radio, vRadioAbort_Retry_Ignore x26 y187 w170 h20, Abort/Retry/Ignore
Gui, Add, Radio, vRadioYes_No_Cancel x26 y207 w170 h20, Yes/No/Cancel
Gui, Add, Radio, vRadioYes_No x26 y227 w170 h20, Yes/No
Gui, Add, Radio, vRadioRetry_Cancel x26 y247 w170 h20, Retry/Cancel
Gui, Add, GroupBox, x226 y127 w180 h220, Icon
Gui, Add, Radio, vRadioNone x236 y147 w110 h20, None
Gui, Add, Radio, vRadioHand x236 y187 w110 h20, Error
Gui, Add, Radio, vRadioQuestion x236 y227 w110 h20, Question
Gui, Add, Radio, vRadioExclamation x236 y267 w110 h20, Exclamation
Gui, Add, Radio, vRadioAsterisk x236 y307 w110 h20, Asterisk
Gui, Add, GroupBox, x16 y277 w190 h70, Modal
Gui, Add, Radio, vRadioTask x26 y297 w170 h20, Task
Gui, Add, Radio, vRadioSystem x26 y317 w170 h20, System
Gui, Add, Text, x16 y7 w60 h15, Title
Gui, Add, Text, x16 y50 w60 h15, Message
Gui, Add, Edit, vEditTitle x16 y27 w390 h20,
Gui, Add, Edit, vEditMessage x16 y67 w390 h50,
;testing Win98
Gui, add, Picture, icon6 x356 y140 w32 h32, user.exe
Gui, add, Picture, icon4 x356 y177 w32 h32, user.exe
Gui, add, Picture, icon3 x356 y217 w32 h32, user.exe
Gui, add, Picture, icon2 x356 y257 w32 h32, user.exe
Gui, add, Picture, icon5 x356 y297 w32 h32, user.exe
;for XP do not know ???( user32.dll - icon100 - 104)
Gui, Add, GroupBox, x16 y353 w190 h40, Default Button
Gui, Add, Radio, vRadio1st x26 y367 w40 h20, 1st
Gui, Add, Radio, vRadio2nd x96 y367 w40 h20, 2nd
Gui, Add, Radio, vRadio3rd x164 y367 w40 h20, 3rd
GuiControl,, RadioOK, 1
GuiControl,, RadioNone, 1
GuiControl,, RadioTask, 1
GuiControl,, Radio1st, 1
Gui, Show, x148 y10 h410 w425, MsgBox Code Generator (for AHK)
Return
;#################### Main
ButtonTest:
GuiControlGet, RadioOK
GuiControlGet, RadioOK_Cancel
GuiControlGet, RadioAbort_Retry_Ignore
GuiControlGet, RadioYes_No_Cancel
GuiControlGet, RadioYes_No
GuiControlGet, RadioRetry_Cancel
GuiControlGet, RadioNone
GuiControlGet, RadioHand
GuiControlGet, RadioQuestion
GuiControlGet, RadioExclamation
GuiControlGet, RadioAsterisk
GuiControlGet, RadioTask
GuiControlGet, RadioSystem
GuiControlGet, EditTitle
GuiControlGet, EditMessage
GuiControlGet, Radio2nd
GuiControlGet, Radio3rd
EnvSet, VarInfo, 0
;#################### Radio Modal
if RadioSystem = 1
{
VarInfo = 4096
}
if RadioTask = 1
{
VarInfo = 8192
}
;#################### Radio Buttons
if RadioOK = 1
{
EnvAdd, VarInfo, 0
}
if RadioOK_Cancel = 1
{
EnvAdd, VarInfo, 1
}
if RadioAbort_Retry_Ignore = 1
{
EnvAdd, VarInfo, 2
}
if RadioYes_No_Cancel = 1
{
EnvAdd, VarInfo, 3
}
if RadioYes_No = 1
{
EnvAdd, VarInfo, 4
}
if RadioRetry_Cancel = 1
{
EnvAdd, VarInfo, 5
}
;#################### Radio Icons
if RadioNone = 1
{
EnvAdd, VarInfo, 0
}
if RadioHand = 1
{
EnvAdd, VarInfo, 16
}
if RadioQuestion = 1
{
EnvAdd, VarInfo, 32
}
if RadioExclamation = 1
{
EnvAdd, VarInfo, 48
}
if RadioAsterisk = 1
{
EnvAdd, VarInfo, 64
}
;#################### Radio Default Button
if Radio2nd = 1
{
EnvAdd, VarInfo, 256
}
if Radio3rd = 1
{
EnvAdd, VarInfo, 512
}
;#################### Output
IniRead, AhkPath, %A_ScriptDir%\msg.ini, AHK, Dir
OutputVar = MsgBox`, %VarInfo%`, %EditTitle%`, %EditMessage%
Clipboard = %OutputVar%
FileAppend, %OutputVar%, %A_ScriptDir%\~msg.tmp
RunWait, %AhkPath% %A_ScriptDir%\~msg.tmp
IfExist, %A_ScriptDir%\~msg.tmp, FileDelete, %A_ScriptDir%\~msg.tmp
Return
;#################### Close
ButtonClose:
FileDelete, %A_ScriptDir%\~msg.tmp
ExitApp
GuiClose:
FileDelete, %A_ScriptDir%\~msg.tmp
ExitApp