Перейти к содержанию

Автоопределение имени процесса в CE


Рекомендуемые сообщения

Добрый день! Недавно появилась проблема частого обновления Флеш плеера. Я только начинаю осваивать тему трейнерописания и использую для этого CE.

В конфигурации Win7 + мазила приходиться подключаться к процессу типа "FlashPlayerPlugin_18_0_0_232.exe", где последние цифры меняются в зависимости от версии плеера.

Вопрос в том, можно ли описать имя процесса по маске или еще как либо?

Может кто-нибудь помочь с этим исключительно средствами CE? Спасибо!))

Ссылка на комментарий
Поделиться на другие сайты

Если трейнер делать для браузера - там же выбор процессов у всех стоит. 

Так же и свой можно сделать - на пример вот так. 

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
Ссылка на комментарий
Поделиться на другие сайты

Если трейнер делать для браузера - там же выбор процессов у всех стоит. 

Так же и свой можно сделать - на пример вот так. 

Большое спасибо! Это даже намного лучше того, чего я мог ожидать. :)

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)  
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.