def OnProcessListListItemSelected(self, event): item_id = self.processList.GetFirstSelected() item = self.processList.GetItem(item_id, 1) base = self.type_pid_ch == "decimal" and 10 or 16 pid = int(item.GetText(), base) self.moduleList.DeleteAllItems() i = 0 try: process = running_tasks.get_process_from_pid(pid) modules = process.get_modules() for m in modules: i += 1 # the entry point act as a key ep = m.get_entry_point() m_id = ep and hex_up(ep) or '-' name = m.get_filename() image_base = hex_up(m.get_base()) size_image = hex_up(m.get_size()) # create the listctrl item index = self.moduleList.InsertStringItem(sys.maxint, name) self.moduleList.SetStringItem(index, 1, m_id) self.moduleList.SetStringItem(index, 2, image_base) self.moduleList.SetStringItem(index, 3, size_image) self.moduleList.SetItemData(index, i) except: # couldn't load modules wx.MessageBox('Could not load modules for %s' % pid, 'Error') self.taskStatus.SetStatusText(str(i), 3)
def _get_selected_process(self): base = self.type_pid_ch == "decimal" and 10 or 16 item_id = self.processList.GetFirstSelected() item = self.processList.GetItem(item_id, 1) pid = int(item.GetText(), base) process = running_tasks.get_process_from_pid(pid) return process