<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="18">
  <Forms>
    <UDF1 Class="TCEForm" Encoding="Ascii85">MbEKL!!QsAU=)ZHqfij,NEsNIB6t9XCJ,@:QYzun+-4$os/9+cP^nib8oVDXCXLH/chWC@zt.gmbXDGCT0EE9yie9o/-:sjTZn#w;4J-02Vomg-ACW)Y$LYNMUMe4SPw$0:?36Jq}HpCI60m@JA3W*.YCqq[c:3_SeVNL]=UB=SW!zJquAN]2Y@/wUyc;RnQw6S+C4ze3+7z{NUENzbPm9p4p,,2%@qKzo+8aJSzVbeHz7iZIBdykF3C7Y;dI4;1C?]_7dlZl8zw-gUD_4s[C]0^,LR4*mSxF]8Tac#OKpgAegO</UDF1>
  </Forms>
  <CheatEntries/>
  <UserdefinedSymbols/>
  <LuaScript>function pidDialog(doPid)
  local plugname = {"iexplore","flashplayerplugin","plugin-container","opera","chrome","awesomium_process","torch","dragon","maxthon","palemoon","safari" }
  local function tmerge(t,o,...) for k,v in pairs(o) do t[k]=v end if select('#',...)&gt;0 then return tmerge(t,...) else return t end end
  local function callLater(f,...)
    local t = createTimer()
    local a,n = {...},select('#',...)
    t.Interval = 100
    t.OnTimer = function(sender) sender.Enabled=false sender.Destroy() f(unpack(a,1,n)) end
    t.Enabled = true
    return t
  end
  local function parseProc(s)
    local p,n
    for pid,name in string.gmatch(s,'([0-9A-F]+)-(.*)') do
      p = pid ; n = name
    end
    return  p,n
  end
  local function prec(i,p,n)
    local weight = 0
    for _,v in ipairs(plugname) do
      if string.find(string.lower(n),string.lower(v),1,true) then weight = weight + 1 end
    end
    return {pid=p,desc=string.format('%5d-%04X-%s',p,p,n),name=n,w=weight+i/2048}
  end

  local FP = createForm(false)
  tmerge(FP,{FormStyle='fsStayOnTop',AutoSize=true,BorderWidth=4,Color="6143808",Position='poScreenCenter',BorderStyle='bsToolWindow',Caption='Double Click to Select'})
  local LB = createListBox(FP)
  tmerge(LB,{MultiSelect=false,AutoSize=true,Color="61443808"})
  local cs = LB.Constraints
  tmerge(cs,{MinHeight=300,MinWidth=400})
  local fn = LB.Font
  tmerge(fn,{Color=0xffffff,Name='Courier New',Height=-16,Style='[bsBold]'})

  LB.OnDblClick = function()
    local idx,PID,NAME = LB.ItemIndex,nil,''
    if idx &gt;= 0 then
      for pid,pID,name in string.gmatch(LB.Items[idx],'([0-9]+)-\s*([0-9A-F]+)-(.*)') do
        PID = tonumber(pid,10)
        NAME = name
      end
    end
    if PID ~= nil then callLater(doPid,PID,NAME) end
    FP.close()
  end
  FP.OnClose = function()  FP.destroy(); FP = nil end
  getProcesslist(LB.Items)
  local plist = {}
  for i=1,LB.Items.getCount() do
    local p,n = parseProc(LB.Items[i-1])
    p = tonumber(p,16)
    table.insert(plist,prec(i,p,n))
  end

  table.sort(plist,function(a,b) return a.w &gt; b.w end)
  local currProcId = getOpenedProcessID()
  for i=1,LB.Items.getCount() do
    LB.Items.setString(i-1,plist[i].desc)
    if plist[i].pid == currProcId then LB.setItemIndex(i-1) end
  end
  FP.show()
end


function CEButton1Click(sender)
 pidDialog(function(pid,name)
 OpenProcess(pid)
 UDF1.CELabel1.Caption = string.format('%4X-%s',pid,name)
end)
end
</LuaScript>
</CheatTable>
