Aktuelle Zeit: 3. Mai 2024 08:54

Alle Zeiten sind UTC + 1 Stunde




 Seite 1 von 1 [ 1 Beitrag ] 
Autor Nachricht
 Betreff des Beitrags: Task Manager
BeitragVerfasst: 18. März 2008 00:11 
Administrator
Benutzeravatar

Registriert: 17. März 2008 13:32
Beiträge: 96
Wohnort: NRW, Germany
;; I won't help anyone with this thing!!!
;; use it on your own risk
;; works only under winxp prof and up
;; /task

dialog -l task_manager {
  title "Task Manager"
  size -1 -1 188 250
  option dbu
  button "",1,0 0 0 0,ok hide
  list 2, 4 4 180 230, size
  button "&Kill", 3, 5 236 40 12
  button "&Detail", 4, 50 236 40 12
  button "&Filter", 5, 95 236 40 12
  button "&Refresh List", 6, 140 236 40 12,disable
}
dialog -l task_filter {
  title "Filter Settings"
  size -1 -1 147 55
  option dbu
  check "Prozess Name is equal to", 4, 2 5 75 10
  combo 5, 80 5 65 60, disable sort dropdown edit
  check "PID is equal to", 6, 2 16 75 10
  edit "", 7, 80 16 65 10, autohs
  check "Username is equal to", 8, 2 27 74 10
  edit $regread(HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultUserName), 9, 80 27 65 10, disable autohs
  button "&Search", 10, 36 40 37 12, ok default
  button "&Cancel", 11, 80 40 37 12, cancel
}
dialog -l task_detail {
  title "Details"
  size -1 -1 350 160
  option dbu
  button "", 1, 0 0 0 0,ok hide
  edit "", 2, 1 1 348 158, read multi return hsbar vsbar
}
dialog -l task_kill {
  title "Kill Process"
  size -1 -1 150 72
  option dbu
  check "Kill all tasks in conjunction with this task", 1, 3 16 143 10
  text "PID", 3, 3 5 15 8, right
  text "Killing a PID is a bad idea which can cause unexpected errors, system failures and data loss.", 4, 9 51 129 16
  box "Warning:", 5, 3 43 144 27
  combo 2, 21 4 125 45, edit drop
  button "&Kill", 6, 35 28 37 12,ok
  button "&Cancel", 7, 75 28 37 12,default cancel
}
on *:dialog:task_kill:init:0:{
  mdx_load
  mdx SetColor $dname 4,5 text $rgb(255,0,0)
  filter -ik task_manager 2 outputkill
  if ($did($task,2).sel) { did -c $dname 2 $calc($ifmatch -1) }
  if (!$i_admin) {
    did -bra $dname 6 No Admin
  }
}
on *:dialog:task_kill:sclick:6:{
  if ($i_admin) {
    comcmd taskkill $iif($did(1).state,/T) /F /PID $$did(2).text
    !.timer 1 0 refreshlist
  }
}
on *:dialog:task_detail:init:0:{
  mdx_load
  mdx SetFont $dname 2 System 11 400 Lucida Console
  mdx SetColor $dname 2 textbg $rgb(255,255,255)
  mdx SetColor $dname 2 background $rgb(255,255,255)
  mdx SetColor $dname 2 text $rgb(0,0,0)
  tokenize 9 %output
  tokenize 32 $2
  if ($5 isnum) {
    write -c task.txt
    write -c task1.txt
    write -c task2.txt
    write -c task3.txt
    comcmd tasklist /V /FI "PID eq $5 $+ " > $mircdirtask1.txt
    while (!$read(task1.txt,n,1) && $lines(task1.txt) > 1) { write -dl1 task1.txt }
    comcmd tasklist /M /FI "PID eq $5 $+ " > $mircdirtask2.txt
    comcmd tasklist /SVC /FI "PID eq $5 $+ " > $mircdirtask3.txt
    comcmd copy /b /y " $+ $mircdirtask1.txt" + " $+ $mircdirtask2.txt" + " $+ $mircdirtask3.txt" " $+ $mircdirtask.txt"
    loadbuf -o task_detail 2 task.txt
    tokenize 32 task.txt task1.txt task2.txt task3.txt
    !.remove $*
  }
  :error
  reseterror
  if ($isfile(task.txt)) { !.remove task.txt }
}
alias -l comcmd {
  if (!$1 != $null) return
  if ($com(tasklist)) { .comclose tasklist }
  .comopen tasklist WScript.Shell
  if (!$comerr) { .comclose tasklist $com(tasklist,Run,3,bstr,$+(%,comspec%) /c $1-,uint,0,bool,true) }
}
alias task {
  if ($isid) { return task_manager }
  elseif ($isfile($windir $+ \system32\tasklist.exe)) { dialog $iif($dialog(task_manager),-v,-md task_manager) task_manager }
  else { echo 4 -ag * You do not have Windows XP Professional, the Task Manager will not work on your Version of Windows. }
}
on *:dialog:task_manager:init:*:{
  mdx_load
  mdx SetControlMDX $dname 2 ListView report grid sortascending showsel rowselect infotip > $views
  did -i $dname 2 1 headerdims 1:1 1:2 1:3 1:4 1:5
  did -i $dname 2 1 headertext +l 0 Application    +r 0 PID    +l 0 Session    +r 0 SID    +r 0 Mem Usage
  !.timer -m 1 250 refreshlist
}
on *:dialog:task_manager:sclick:*:{
  if ($did == 3) { var %x = $dialog(task_kill,task_kill,-4) }
  if ($did == 4) { showdetail $did(2).seltext }
  if ($did == 5) { var %x = $dialog(task_filter,task_filter,-4) }
  if ($did == 6) { refreshlist }
}
on *:dialog:task_manager:dclick:2:{ showdetail $did($did).seltext }
on *:dialog:task_filter:init:0:{
  mdx_load
  mdx SetControlMDX $dname 7 UpDown edit arrowkeys numeric alignright left > $ctl_gen
  did -bi $dname 7 1 0 0 100000 10 0:1,2:10,5:100
  filter -ik task_manager 2 output
  did -c $dname 5 1
}
on *:dialog:task_filter:sclick:*:{
  if ($did == 4) { did $iif($did($did).state,-e,-b) $dname 5 }
  if ($did == 6) { did $iif($did($did).state,-e,-b) $dname 7 }
  if ($did == 8) { did $iif($did($did).state,-e,-b) $dname 9 }
  if ($did == 10) {
    var %o = ""
    %o = %o $iif($did(4).state && $did(5).text,/FI "IMAGENAME eq $did(5).text $+ ")
    %o = %o $iif($did(6).state && $did(7).text,/FI "PID eq $gettok($did(7),1,32) $+ ")
    %o = %o $iif($did(8).state && $did(9).text,/FI "USERNAME eq $did(9).text $+ ")
    refreshlist %o
    unset %o
  }
}
alias -l i_admin {
  var %f = " $+ $windir $+ \testfile $+ $ticks $+ .tmp $+ "
  write %f $ticks
  !.remove %f
  return $true
  :error
  reseterror
  return $false
}
alias -l showdetail { set %output = $1- | var %x = $dialog(task_detail,task_detail,-4) | unset %output }
alias -l mdx { dll " $+ $scriptdirdll\mdx.dll $+ " $1- }
alias -l views { return $scriptdirdll\views.mdx }
alias -l bars { return $scriptdirdll\bars.mdx }
alias -l ctl_gen { return $scriptdirdll\ctl_gen.mdx }
alias -l dialogn { return $scriptdirdll\dialog.mdx }
alias -l mdx_load {
  mdx SetMircVersion $version
  mdx MarkDialog $iif($1,$1,$dname)
}
alias -l output {
  if ($tab isin $1-) {
    tokenize 9 $1-
    tokenize 32 $1
    did -a task_filter 5 $6-
  }
}
alias -l outputkill {
  if ($tab isin $1-) {
    tokenize 9 $1-
    tokenize 32 $2
    did -a task_kill 2 $5
  }
}
alias -l refreshlist {
  did -b $task 3,4,5,6
  did -ri $task 2 1 headerdims autoheader:all
  write -c task.txt
  var %f = $mircdirtask.txt
  comcmd $+(%,comspec%) /c tasklist /NH $1- > %f
  window -h @buffer
  loadbuf @buffer %f
  while (!$read(task.txt,n,1) && $lines(task.txt > 1)) { write -dl1 task.txt }
  var %i = 0,%l = $line(@buffer,0)
  filter -k @buffer addprocs
  window -c @buffer
  !.remove task.txt
  goto done
  :error
  reseterror
  :done
  did -e $task 3,4,5,6
  did -i $task 2 1 headerdims autoheader:all
}
alias -l addprocs {
  %line = $1-
  var %b = $gettok(%line,-2-,32)
  var %sid = $gettok(%line,-3,32)
  var %sname = $gettok(%line,-4,32)
  var %pid = $gettok(%line,-5,32)
  var %process = $deltok(%line,-5-,32)
  if ($checkid(%pid,$1-)) {
    did -a $task 2 $tab(%process,%pid,%sname,%sid,%b)
  }
}
alias -l checkid {
  if ($1 != $null) {
    write -c task.txt
    var %f = $mircdirtask.txt
    comcmd tasklist /NH /FI "PID eq $1 $+ " > %f
    if ($read(task.txt,n,2)) { !.remove task.txt | return $true }
    else { !.remove task.txt | return $false }
    :error
    reseterror
    !.remove task.txt
    return $false
  }
}
alias -l tab {
  if (!$1-) { return $chr(9) }
  var %tablist = $1
  var %i = 2 | while ($ [ $+ [ %i ] ] != $null) { inc %i | %tablist = %tablist $chr(9) $ifmatch }
  return %tablist
}
alias -l windir {
  .comopen windir WScript.Shell
  if $comerr { return }
  var %a = $com(windir,ExpandEnvironmentStrings,3,bstr,% $+ windir%)
  %a = $com(windir).result
  .comclose windir
  return %a
}
alias -l RegRead {
  if ($1) { .comopen rr WScript.Shell | if !$comerr { var %b = $com(rr,RegRead,3,bstr,$1-),%c = $com(rr).result | .comclose rr | return %c } }
}



_________________
one step closer to world domination
Cyberscripters Administrator/Founder
   
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
 Seite 1 von 1 [ 1 Beitrag ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  

cron