עמוד ראשי מירק סקריפטינג סניפטים Task Manager

Task Manager

mIRC Snippets - בפורום זה יפורסמו קודים שימושיים למירק. לפרסום קודים יש לפרסמם תחילה בפורום "פרסום קודים ומדריכים" ולאחר מכאן הם יועברו לפורום זה.

Ocean
משתמש רשום
Task Manager
הצטרף: 01 יולי 2010, 14:38
הודעות: 77
פורסם: 25 יולי 2010, 15:16
שם הקוד: TASK MANAGER
יוצר: Ocean
גירסא: V0.1
תיאור: מראה את רשימת ההפעלה שלכם ויכול להפסיקן
הפעלה: לשים את הקוד הבא ברימוט, ולהוריד את הקבצים המצורפים ולשים את התיקייה עצמה אם הקבצים בתיקייה של המירק לא רק את הקבצים! ללחוץ מקש ימיני בערוץ וללחוץ על Task Manager וזה נפתח.
תמונה: תמונה
קוד:
dialog TM {
  title "Task Manager"
  size -1 -1 346 154
  option dbu
  box "Processes", 1, 1 0 345 138
  list 2, 2 8 342 128, size
  button "Refresh All Processes", 3, 2 140 98 12
  button "End Process", 4, 273 140 70 12
}
menu status,channel {
  Task Manager: TM
}
alias TM { dialog $iif(!$dialog(TM),-m,-x) TM TM }
on *:dialog:TM:close:*: { uset %exec.TM }
on *:dialog:TM:init:*: {
  dll dlls\mdx.dll MarkDialog TM
  dll dlls\mdx.dll SetControlMDX 2 listview report grid nosortheader rowselect flatsb > dlls\views.mdx
  did -i $dname 2 1 headerdims 150 70 115 70 100
  did -i $dname 2 1 headertext Image Name $chr(9) PID $chr(9) Session Name $chr(9) Session# $chr(9) Mem Usage
  .timer -m 1 300 exec tasklist
}
on *:dialog:TM:dclick:2: { .run taskkill.exe /IM $gettok($did(TM,2).seltext,6,32) }
on *:dialog:TM:sclick:*: {
  if ($did == 3) { did -r TM 2 | uset %exec.TM | exec tasklist }
  if ($did == 4) { .run taskkill.exe /IM $gettok($did(TM,2).seltext,6,32) | exec tasklist }
}
alias exec {
  ; Called as identifier
  if ($isid) {
    if ($2) {
      ; Command callback
      %__exec.command = $2
      dll $exec.dll execA exec.pipe $1
      unset %__exec.command
      return $null
    }
    else {
      ; No callback, return first line
      unset %__exec.identifier
      dll $exec.dll execA exec.identifier $1
      var %ret = %__exec.identifier
      unset %__exec.identifier
      return %ret
    }
  }

  ; Called as command
  var %method = exec, %endmethod = noop, %mode = sync
  if (-* iswm $1-) {
    if (e isin $1) {
      ; Line separator between results
      %endmethod = linesep -a
    }
    if (a isin $1) {
      ; Asynchronous mode
      %mode = async
    }
    if (s isin $1) {
      ; Using a SIGNAL as callback parameter
      %method = execS
    }
    elseif (k isin $1) {
      ; Using an alias as callback parameter
      %method = execA
    }
    tokenize 32 $2-
  }
  else if ($show) {
    ; No switches and output not hidden, use default formatting
    %method = execA
    %endmethod = linesep -a
    tokenize 32 exec.default $1-
  }

  if (%mode == async) {
    if (linesep* iswm %endmethod) linesep -a
    noop $dllcall($exec.dll, %endmethod, %method, $1-)
  }
  elseif (%mode == sync) {
    if (linesep* iswm %endmethod) linesep -a
    dll $exec.dll %method $1-
    if (linesep* iswm %endmethod) linesep -a
  }
}

; Helper methods
alias -l exec.dll { return dlls\exec.dll }
alias exec.default {
  if ($1 == stdout && $2- != $null) {
    if (%exec.TM == 1) { did -a TM 2 $2 $chr(9) $3 $chr(9) $4 $chr(9) $5 $chr(9) $6 $+ $7 }
    if ($2 == System) { set -u3 %exec.TM 1 }
  }
  elseif ($1 == stderr && $2- != $null) echo $color(info) -a * $2-
}
alias exec.identifier {
  if ($1 == stdout && $2 != $null && !%__exec.identifier) {
    %__exec.identifier = $2-
  }
}
alias exec.pipe { if ($1 == stdout) %__exec.command $2- }

קבצים מצורפים:
DLLS.rar
אין לך את ההרשאות המתאימות על מנת לצפות בקובץ המצורף להודעה זאת.

KaryoS
משתמש רשום
Re: Task Manager
הצטרף: 13 יולי 2010, 16:40
הודעות: 38
פורסם: 25 יולי 2010, 17:14
אחלה דבר :D

Ohad
מנהל האתר
Re: Task Manager
הצטרף: 29 יוני 2010, 16:13
הודעות: 112
פורסם: 25 יולי 2010, 17:43
נחמד מאוד :)
עיצוב דיאלוג מעולה ונוח.

שתדע רק שלא צריך DLL בשביל לקבלת את רשימת ה-PROCESSES אפשר פשוט להשתמש ב-COM objects
ושם הדיאלוג אמור להיות Processes list

XtrAp
מנהל האתר
Re: Task Manager
הצטרף: 29 יוני 2010, 16:19
הודעות: 113
פורסם: 25 יולי 2010, 18:45
יהיה טוב אם תוסיף עמודה של CPU

Ocean
משתמש רשום
Re: Task Manager
הצטרף: 01 יולי 2010, 14:38
הודעות: 77
פורסם: 25 יולי 2010, 18:52
האמת היא שאני לא יודע השתמש ב COM objects אבל לא משנה העיקר שזה יצא איכותי :D

אני לא יודע איך להוסיף עמודה של CPU מכיוון שה CMD לא מראה לי את הCPU כשאני רושם TASKLIST

Billy
משתמש רשום
Re: Task Manager
הצטרף: 19 יולי 2010, 10:12
הודעות: 19
פורסם: 25 יולי 2010, 19:14
באמת יפה, אבל כל כך מיותר ברמות, לא רואה שום צורך הכי פשוט לבנות דבר כזה.

נצל את הזמן למשהו שימושי...
חוץ מזה נראה יפה.

uns
משתמש רשום
Re: Task Manager
הצטרף: 01 יולי 2010, 07:18
הודעות: 95
פורסם: 25 יולי 2010, 20:52
יפייפה ! כל הכבוד.
תמונה

Ocean
משתמש רשום
Re: Task Manager
הצטרף: 01 יולי 2010, 14:38
הודעות: 77
פורסם: 25 יולי 2010, 22:36
תודה

Xronic
משתמש רשום
Re: Task Manager
הצטרף: 14 יולי 2010, 17:22
הודעות: 54
פורסם: 25 יולי 2010, 22:54
ברמה הכללית יפה מאוד!
התכנות מעולה גם כן , היה נחמד אם היה לקוד אפשרות לשנות "הגדרות עדיפות" (זה מופיע בקליק ימני על שם התהליך בדר"כ ב- "מנהל המשימות")
אם תכאל בזמנך החופשי לעשות כזה דבר זה יהיה קטלני.

נ.ב יש באג בקוד, אי אפשר להפסיק פרוסס.

XtrAp
מנהל האתר
Re: Task Manager
הצטרף: 29 יוני 2010, 16:19
הודעות: 113
פורסם: 26 יולי 2010, 08:00
Xronic, תנסה להפעיל את המירק כ"מנהל" אם מערכת ההפעלה שלך באנגלית תעשה על המירק מקש ימני ואז Run As administrator
ואם זה בעברית זה נראה לי "הפעל כמנהל"


חזור אל סניפטים

cron