Like this?
Gui, Add, ListBox, vMyListBox1 gMyListBox1 w100 r10, NotePad|x
Gui, Show
return
MyListBox1:
if A_GuiEvent <> DoubleClick ; If not double click stop
Return
GuiControlGet, MyListBox1 ; Get current value of MyListBox1 variable
If (MyListBox1 = "NotePad") ; If MyListBox1 contains NotePad
Run, NotePad.exe
Else If (MyListBox1 = "x") ; If MyListBox1 contains x
{
Send, !{Esc} ; Need to switch back to previous application since GUI is in focus and you would send the data to your own GUI
Sleep, 100 ; Wait a little while, so that the other application can be in focus
Send, x ; You could have used Send, %MyListBox1%, since MyListBox1 contains x
}
Return
GuiClose:
GuiEscape:
ExitApp