Если трейнер делать для браузера - там же выбор процессов у всех стоит. Так же и свой можно сделать - на пример вот так. f = createForm() control_setSize(f, 400,400) control_setCaption(f, "Process List") setProperty(f , "BiDiMode", "bdLeftToRight") list = createListBox(f) x,y = control_getSize(f) control_setSize(list, x-10, y-30) control_setPosition(list, 5,5) button1 = createButton(f) button2 = createButton(f) button3 = createButton(f) button4 = createButton(f) control_setSize(button1, 60, 20) control_setSize(button2, 60, 20) control_setSize(button3, 60, 20) control_setSize(button4, 60, 20) control_setCaption(button1, "Get") control_setCaption(button2, "Clear") control_setCaption(button3, "Attach") control_setCaption(button4, "Exit") control_setPosition(button1, 20,y-22) control_setPosition(button2, 100,y-22) control_setPosition(button3, 180,y-22) control_setPosition(button4, 280,y-22) Items = listbox_getItems(list) TempTable = {} function GetTheProcessList() local SL=createStringlist() getProcesslist(SL) for i=0,strings_getCount(SL)-1 do local entry = strings_getString(SL,i) local processname = entry:sub(10,255) local PID = tonumber('0x'..entry:sub(1,8)) TempTable[i] = {PID, processname} end return TempTable end function AddTheProcessList() GetTheProcessList() index = 0 for y in pairs (TempTable) do index = index+1 end for i=0, index-1 do if TempTable[i]~='' and TempTable[i]~= nil then local TempText = "Process ID : "..TempTable[i][1].." Process Name : "..TempTable[i][2] strings_add(Items, TempText) end end end function GetAndAddProcess() TempTable = {} strings_clear(Items) AddTheProcessList() end function Clear() TempTable = {} strings_clear(Items) end function AttachToTheSelectedProcess() local ProcessID = listbox_getItemIndex(list) if ProcessID~=-1 then if TempTable[ProcessID][1]~=nil then openProcess(TempTable[ProcessID][1]) else return showMessage("Failed to open the select process") end else return showMessage("Please choose a process from the list") end end function Exit() form_hide(f) end control_onClick(button1,GetAndAddProcess) control_onClick(button2,Clear) control_onClick(button3,AttachToTheSelectedProcess) control_onClick(button4,Exit)