Paul Опубликовано 8 сентября, 2015 Поделиться Опубликовано 8 сентября, 2015 Добрый день! Недавно появилась проблема частого обновления Флеш плеера. Я только начинаю осваивать тему трейнерописания и использую для этого CE.В конфигурации Win7 + мазила приходиться подключаться к процессу типа "FlashPlayerPlugin_18_0_0_232.exe", где последние цифры меняются в зависимости от версии плеера.Вопрос в том, можно ли описать имя процесса по маске или еще как либо?Может кто-нибудь помочь с этим исключительно средствами CE? Спасибо!)) Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 8 сентября, 2015 Поделиться Опубликовано 8 сентября, 2015 Если трейнер делать для браузера - там же выбор процессов у всех стоит. Так же и свой можно сделать - на пример вот так. 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) 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Paul Опубликовано 9 сентября, 2015 Автор Поделиться Опубликовано 9 сентября, 2015 Если трейнер делать для браузера - там же выбор процессов у всех стоит. Так же и свой можно сделать - на пример вот так. Большое спасибо! Это даже намного лучше того, чего я мог ожидать. 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) Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения