Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Windows PowerShell 1.x/2.x/CTP

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

ComradG



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
param ($interval = 10)
 
#функция построения списка процессов
function Get-ProcessInfo {
   $array = New-Object System.Collections.ArrayList
   $script:colProc = ps | select Name, Id, CPU, PrivateMemorySize, WorkingSet, Description, Company | sort Name
   $array.AddRange($colProc)
   $dtgGrid.DataSource = $array
   $frmMain.Refresh()
}
 
#функция автообновления списка процессов
function Set-ProcessAuto {
   if ($mnuAuto.Checked -eq $false) {
      $mnuAuto.Checked = $true
      $tmrTime.Start()
   }
   else {
      $mnuAuto.Checked = $false
      $tmrTime.Stop()
   }
}
 
#обработчик события для mnuKill
$OnClick_mnuKill= {
   $SelectedRow = $dtgGrid.CurrentRowIndex
   
   if ($colId = $script:colProc[$SelectedRow].Id) {
      Stop-Process -id $colId
      Start-Sleep -milliseconds 500
      Get-ProcessInfo
   }
}
 
#загружаем основную форму
$OnLoad_frmMain= {
   Get-ProcessInfo
   Set-ProcessAuto
}
 
#загружаемые сборки
[Reflection.Assembly]::LoadWithPartialName("System.Drawing") | Out-Null
[Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") | Out-Null
   
#элементы формы
$frmMain = New-Object System.Windows.Forms.Form
$mnuMain = New-Object System.Windows.Forms.MenuStrip
$mnuFile = New-Object System.Windows.Forms.ToolStripMenuItem
$mnuKill = New-Object System.Windows.Forms.ToolStripMenuItem
$mnuSep0 = New-Object System.Windows.Forms.ToolStripSeparator
$mnuExit = New-Object System.Windows.Forms.ToolStripMenuItem
$mnuView = New-Object System.Windows.Forms.ToolStripMenuItem
$mnuRefr = New-Object System.Windows.Forms.ToolStripMenuItem
$mnuAuto = New-Object System.Windows.Forms.ToolStripMenuItem
$mnuHelp = New-Object System.Windows.Forms.ToolStripMenuItem
$mnuAbot = New-Object System.Windows.Forms.ToolStripMenuItem
$dtgGrid = New-Object System.Windows.Forms.DataGrid
$tmrTime = New-Object System.Windows.Forms.Timer
   
#обобщения
$System_Drawing_Size = New-Object System.Drawing.Size
$System_Drawing_Point = New-Object System.Drawing.Point
   
#главное меню
$mnuMain.Items.AddRange(@($mnuFile, $mnuView, $mnuHelp))
   
#mnuFile
$mnuFile.Text = "&File"
$mnuFile.DropDownItems.AddRange(@($mnuKill, $mnuSep0, $mnuExit))
   
#mnuKill
$mnuKill.Text = "&Kill"
$mnuKill.Add_Click($OnClick_mnuKill)
   
#mnuSep0
   
#mnuExit
$mnuExit.Text = "E&xit"
$mnuExit.Add_Click( { $frmMain.Close() } )
   
#mnuView
$mnuView.Text = "&View"
$mnuView.DropDownItems.AddRange(@($mnuRefr, $mnuAuto))
   
#mnuRefr
$mnuRefr.Text = "&Refresh"
$mnuRefr.Add_Click( { Get-ProcessInfo } )
   
#mnuAuto
$mnuAuto.Text = "Auto &update"
$mnuAuto.Add_Click( { Set-ProcessAuto } )
   
#mnuHelp
$mnuHelp.Text = "&Help"
$mnuHelp.DropDownItems.AddRange(@($mnuAbot))
   
#mnuAbot
$mnuAbot.Text = "&About"
$mnuAbot.Add_Click( { Get-AboutDialog } )
 
#dtgGrid
$System_Drawing_Point.X = 0
$System_Drawing_Point.Y = 25
$dtgGrid.Location = $System_Drawing_Point
$System_Drawing_Size.Height = 550
$System_Drawing_Size.Width = 802
$dtgGrid.Size = $System_Drawing_Size
$dtgGrid.CaptionVisible = $false
$dtgGrid.PreferredColumnWidth = 109
$dtgGrid.Add_Click( { Set-ProcessAuto } )
 
#tmrTime
$tmrTime.Interval = $interval * 100
$tmrTime.Add_Tick( { Get-ProcessInfo } )
 
#frmMain
$System_Drawing_Size.Height = 597
$System_Drawing_Size.Width = 803
$frmMain.ClientSize = $System_Drawing_Size
$frmMain.Controls.Add($mnuMain)
$frmMain.Controls.Add($dtgGrid)
$frmMain.FormBorderStyle = "FixedSingle"
$frmMain.MaximizeBox = $false
$frmMain.StartPosition = "CenterScreen"
$frmMain.Text = "Process Viewer"
$frmMain.Add_Load($OnLoad_frmMain)
 
#вывод окна About
function Get-AboutDialog {
   $frmAbot = New-Object System.Windows.Forms.Form
   $lblAbot = New-Object System.Windows.Forms.Label
   $btnClos = New-Object System.Windows.Forms.Button
   
   #lblAbot
   $lblAbot.Text = "(C) 2008 - 2011 ComradG special for Ru-Board `n
   Process Viewer is a sample that can help you stay knowledgeable "
   $lblAbot.TextAlign = "MiddleCenter"
   $System_Drawing_Point.X = 5
   $System_Drawing_Point.Y = 29
   $lblAbot.Location = $System_Drawing_Point
   $System_Drawing_Size.Height = 50
   $System_Drawing_Size.Width = 330
   $lblAbot.Size = $System_Drawing_Size
   
   #btnClos
   $btnClos.Text = "Close"
   $System_Drawing_Point.X = 132
   $System_Drawing_Point.Y = 97
   $btnClos.Location = $System_Drawing_Point
   $btnClos.Add_Click( { $frmAbot.Close() } )
   
   #frmAbot
   $System_Drawing_Size.Width = 350
   $System_Drawing_Size.Height = 137
   $frmAbot.ClientSize = $System_Drawing_Size
   $frmAbot.Controls.Add($lblAbot)
   $frmAbot.Controls.Add($btnClos)
   $frmAbot.FormBorderStyle = "FixedSingle"
   $frmAbot.MaximizeBox = $false
   $frmAbot.MinimizeBox = $false
   $frmAbot.ShowInTaskbar = $false
   $frmAbot.StartPosition = "CenterScreen"
   $frmAbot.Text = "About..."
   
   #показываем само окно
   $frmAbot.ShowDialog() | Out-Null
}
 
#показываем основное окно
$frmMain.ShowDialog() | Out-Null

Всего записей: 2038 | Зарегистр. 05-07-2008 | Отправлено: 21:14 19-02-2011
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Windows PowerShell 1.x/2.x/CTP


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru