Blog Post

PowerShell – Memory Details GUI Tool

,

This Powershell Memory GUI tool is used to fetch memory information from a computer. In the screen that follows, enter the computer name that you would like to get the memory details for and click on Get Memory Button.

This pulls out the usage of memory of the listed computer. If you don’t make an entry, then by default local machine details will be displayed.  If you give a wrong name then message box will be pop up stating its reason for not connecting.

The code is tested in all version of Powershell. You need to have .Net framework 3.0 or 3.5 as its pre-requisites.

you can run the downloaded file from Powershell ISE or directly in Powershell console.

Download MemoryGUITool

Image

CODE

Function Get-MemoryGUI 
{ 
function OnApplicationLoad { 
 if([Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms.DataVisualization") -eq $null) 
 { 
  #Microsoft Chart Controls are not installed 
  [void][reflection.assembly]::Load("System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089") 
  [void][System.Windows.Forms.MessageBox]::Show("Microsoft Chart Controls for Microsoft .NET 3.5 Framework is required","Microsoft Chart Controls Required") 
  #Open the URL 
  [System.Diagnostics.Process]::Start("http://www.microsoft.com/downloads/en/details.aspx?familyid=130F7986-BF49-4FE5-9CA8-910AE6EA442C&displaylang=en"); 
  return $false 
 } 
 return $true #return true for success or false for failure 
} 
function OnApplicationExit { 
 $script:ExitCode = 0 #Set the exit code for the Packager 
} 
#endregion Application Functions 
#---------------------------------------------- 
# Generated Form Function 
#---------------------------------------------- 
function Call-SystemInformation_pff { 
 #---------------------------------------------- 
 #region Import the Assemblies 
 #---------------------------------------------- 
 [void][reflection.assembly]::Load("System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089") 
 [void][reflection.assembly]::Load("System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089") 
 [void][reflection.assembly]::Load("System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089") 
 [void][reflection.assembly]::Load("System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a") 
 [void][reflection.assembly]::Load("mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089") 
 [void][reflection.assembly]::Load("System.Windows.Forms.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35") 
 #endregion Import Assemblies 
 #---------------------------------------------- 
 #region Generated Form Objects 
 #---------------------------------------------- 
[System.Windows.Forms.Application]::EnableVisualStyles() 
$formMemoryPieChart = New-Object System.Windows.Forms.Form 
$dataGrid1 = New-Object System.Windows.Forms.DataGrid  
$chart1 = New-Object System.Windows.Forms.DataVisualization.Charting.Chart 
$InitialFormWindowState = New-Object System.Windows.Forms.FormWindowState 
$btnRefresh = New-Object System.Windows.Forms.Button 
$btngetdata=New-Object System.Windows.Forms.Button 
$rtbPerfData = New-Object System.Windows.Forms.RichTextBox 
$lblServicePack = New-Object System.Windows.Forms.Label 
$lblDBName= New-Object System.Windows.Forms.Label 
$lblOS = New-Object System.Windows.Forms.Label 
$statusBar1 = New-Object System.Windows.Forms.StatusBar 
$btnClose = New-Object System.Windows.Forms.Button 
$InitialFormWindowState = New-Object System.Windows.Forms.FormWindowState 
$txtComputerName = New-Object System.Windows.Forms.TextBox 
$dataGrid1 = New-Object System.Windows.Forms.DataGrid  
 function Load-Chart 
 { 
  Param( #$XPoints, $YPoints, $XTitle, $YTitle, $Title, $ChartStyle) 
   [Parameter(Position=1,Mandatory=$true)] 
     [System.Windows.Forms.DataVisualization.Charting.Chart]$ChartControl 
   , 
   [Parameter(Position=2,Mandatory=$true)] 
     $XPoints 
   , 
   [Parameter(Position=3,Mandatory=$true)] 
     $YPoints 
   , 
   [Parameter(Position=4,Mandatory=$false)] 
     [string]$XTitle 
   , 
   [Parameter(Position=5,Mandatory=$false)] 
     [string]$YTitle 
   , 
   [Parameter(Position=6,Mandatory=$false)] 
     [string]$Title 
   , 
   [Parameter(Position=7,Mandatory=$false)] 
     [System.Windows.Forms.DataVisualization.Charting.SeriesChartType]$ChartType 
   , 
   [Parameter(Position=8,Mandatory=$false)] 
     $SeriesIndex = 0 
   , 
   [Parameter(Position=9,Mandatory=$false)] 
     $TitleIndex = 0, 
   [switch]$Append) 
  $ChartAreaIndex = 0 
  if($Append) 
  { 
   $name = "ChartArea " + ($ChartControl.ChartAreas.Count + 1).ToString(); 
   $ChartArea = $ChartControl.ChartAreas.Add($name) 
   $ChartAreaIndex = $ChartControl.ChartAreas.Count - 1 
   $name = "Series " + ($ChartControl.Series.Count + 1).ToString(); 
   $Series = $ChartControl.Series.Add($name)  
   $SeriesIndex = $ChartControl.Series.Count - 1 
   $Series.ChartArea = $ChartArea.Name 
   if($Title) 
   { 
    $name = "Title " + ($ChartControl.Titles.Count + 1).ToString(); 
    $TitleObj = $ChartControl.Titles.Add($name) 
    $TitleIndex = $ChartControl.Titles.Count - 1  
    $TitleObj.DockedToChartArea = $ChartArea.Name 
    $TitleObj.IsDockedInsideChartArea = $false 
   } 
  } 
  else 
  { 
   if($ChartControl.ChartAreas.Count -eq  0) 
   { 
    $name = "ChartArea " + ($ChartControl.ChartAreas.Count + 1).ToString(); 
    [void]$ChartControl.ChartAreas.Add($name) 
    $ChartAreaIndex = $ChartControl.ChartAreas.Count - 1 
   }  
   if($ChartControl.Series.Count -eq 0) 
   { 
    $name = "Series " + ($ChartControl.Series.Count + 1).ToString(); 
    $Series = $ChartControl.Series.Add($name)  
    $SeriesIndex = $ChartControl.Series.Count - 1 
    $Series.ChartArea = $ChartControl.ChartAreas[0].Name 
   } 
  } 
  $Series = $ChartControl.Series[$SeriesIndex] 
  $ChartArea = $ChartControl.ChartAreas[$Series.ChartArea] 
  $Series.Points.Clear() 
  if($Title) 
  { 
   if($ChartControl.Titles.Count -eq 0) 
   { 
    $name = "Title " + ($ChartControl.Titles.Count + 1).ToString(); 
    [void]$ChartControl.Titles.Add($name) 
    $TitleIndex = $ChartControl.Titles.Count - 1 
    $TitleObj.DockedToChartArea = $ChartArea.Name 
    $TitleObj.IsDockedInsideChartArea = $false 
   } 
   $ChartControl.Titles[$TitleIndex].Text = $Title 
  } 
  if($ChartType) 
  { 
   $Series.ChartType = $ChartType 
  } 
  if($XTitle) 
  { 
   $ChartArea.AxisX.Title = $XTitle 
  } 
  if($YTitle) 
  { 
   $ChartArea.AxisY.Title = $YTitle 
  } 
  if($XPoints -isnot [Array] -or $XPoints -isnot [System.Collections.IEnumerable]) 
  { 
   $array = New-Object System.Collections.ArrayList 
   $array.Add($XPoints) 
   $XPoints = $array 
  } 
  if($YPoints -isnot [Array] -or $YPoints -isnot [System.Collections.IEnumerable]) 
  { 
   $array = New-Object System.Collections.ArrayList 
   $array.Add($YPoints) 
   $YPoints = $array 
  } 
  $Series.Points.DataBindXY($XPoints, $YPoints) 
 } 
 function Clear-Chart 
 { 
  Param (   
  [Parameter(Position=1,Mandatory=$true)] 
    [System.Windows.Forms.DataVisualization.Charting.Chart]$ChartControl 
  , 
  [Parameter(Position=2, Mandatory=$false)] 
  [Switch]$LeaveSingleChart 
  ) 
  $count = 0  
  if($LeaveSingleChart) 
  { 
   $count = 1 
  } 
  while($ChartControl.Series.Count -gt $count) 
  { 
   $ChartControl.Series.RemoveAt($ChartControl.Series.Count - 1) 
  } 
  while($ChartControl.ChartAreas.Count -gt $count) 
  { 
   $ChartControl.ChartAreas.RemoveAt($ChartControl.ChartAreas.Count - 1) 
  } 
  while($ChartControl.Titles.Count -gt $count) 
  { 
   $ChartControl.Titles.RemoveAt($ChartControl.Titles.Count - 1) 
  } 
  if($ChartControl.Series.Count -gt 0) 
  { 
   $ChartControl.Series[0].Points.Clear() 
  } 
 } 
 #endregion 
<# 
 $FormEvent_Load={ 
  #TODO: Initialize Form Controls here 
  Load-PieChart  
 } 
 #> 
 function Load-PieChart 
 { 
param( 
[string[]]$servers = "$ENV:COMPUTERNAME" 
) 
  foreach ($server in $servers) { 
  #Get Disk space using WMI and make sure it is an array 
  $Memory = @(Get-WmiObject -Class Win32_OperatingSystem -computername $servers | Select-Object Name, TotalVisibleMemorySize, FreePhysicalMemory,TotalVirtualMemorySize,FreeVirtualMemory,FreeSpaceInPagingFiles,NumberofProcesses,NumberOfUsers ) 
  #Remove all the current charts 
  Clear-Chart $chart1 
  #Loop through each drive 
  foreach($m in $Memory) 
  {  
    $TotalRAM = $m.TotalVisibleMemorySize/1MB 
    $FreeRAM = $m.FreePhysicalMemory/1MB 
    $TotalVirtualMemorySize=[Math]::Round($m.TotalVirtualMemorySize/1MB, 3) 
    $FreeVirtualMemory=[Math]::Round($m.FreeVirtualMemory/1MB, 3) 
   #Load a Chart for each Drive 
   Load-Chart $chart1 -XPoints ("Physical Total RAM ({0:N1} GB)" -f $TotalRAM), ("Physical Free RAM ({0:N1} GB)" -f $FreeRAM) -YPoints $TotalRAM, $FreeRAM -ChartType "Bar" -Title ("Physical Memory Chart") -Append  
   Load-Chart $chart1 -XPoints ("Virtual Total RAM ({0:N1} GB)" -f $TotalVirtualMemorySize), ("Virtual Free RAM ({0:N1} GB)" -f $FreeVirtualMemory) -YPoints $TotalVirtualMemorySize, $FreeVirtualMemory -ChartType "Bar" -Title (" Virtual Memory Chart") -Append  
  } 
  #Set Custom Style 
  foreach ($Series in $chart1.Series) 
  { 
   $Series.CustomProperties = "PieDrawingStyle=Concave" 
  } 
 } 
 } 
function Get-OSMemory 
{ 
param( 
[string]$Computer = "$ENV:COMPUTERNAME" 
) 
$script:Object =@() 
$script:array = New-Object System.Collections.ArrayList       
$Object =@() 
if(Test-Connection -ComputerName $Computer -Count 1 -ea 0) { 
$SystemInfo = Get-WmiObject -Class Win32_OperatingSystem -computername $Computer | Select-Object Name, TotalVisibleMemorySize, FreePhysicalMemory,TotalVirtualMemorySize,FreeVirtualMemory,FreeSpaceInPagingFiles,NumberofProcesses,NumberOfUsers 
$TotalRAM = $SystemInfo.TotalVisibleMemorySize/1MB 
$FreeRAM = $SystemInfo.FreePhysicalMemory/1MB 
$UsedRAM = $TotalRAM - $FreeRAM 
$RAMPercentFree = ($FreeRAM / $TotalRAM) * 100 
$TotalRAM = [Math]::Round($TotalRAM, 2) 
$FreeRAM = [Math]::Round($FreeRAM, 2) 
$UsedRAM = [Math]::Round($UsedRAM, 2) 
$RAMPercentFree = [Math]::Round($RAMPercentFree, 2) 
$TotalVirtualMemorySize=[Math]::Round($SystemInfo.TotalVirtualMemorySize/1MB, 3) 
$FreeVirtualMemory=[Math]::Round($SystemInfo.FreeVirtualMemory/1MB, 3) 
$FreeSpaceInPagingFiles=[Math]::Round($SystemInfo.FreeSpaceInPagingFiles/1MB, 3) 
$NP=$SystemInfo.NumberofProcesses 
$NU=$SystemInfo.NumberOfUsers 
$Object += New-Object PSObject -Property @{ 
ComputerName = $Computer.ToUpper(); 
#Architecture = $architecture; 
#OperatingSystem = $OS; 
TotalRAMGB = $TotalRAM; 
FreeRAMGB = $FreeRAM; 
UsedRAMGB = $UsedRAM; 
FreeRAMPercentage =$RAMPercentFree; 
TotalVMSizeGB=$TotalVirtualMemorySize; 
FreeVMGB=$FreeVirtualMemory; 
FreeSpaceInPageFileGB=$FreeSpaceInPagingFiles; 
NoOfProcesses=$NP; 
NoOfUsers=$NU 
} 
} 
$array.AddRange($Object)  
$dataGrid1.DataSource = $array  
} 
 $GetData={ 
        $statusBar1.text="Getting Memory Details Data..please wait" 
        if ($txtComputerName.text -eq '') 
        { 
        $txtComputerName.text=$ENV:COMPUTERNAME 
        } 
        if(Test-Connection -ComputerName $txtComputerName.text -Count 1 -ea 0) {  
        $data=Get-OSMemory -Computer $txtComputerName.text | Out-String 
        Load-PieChart -servers $txtComputerName.text  
        } 
        else 
        { 
        [Windows.Forms.MessageBox]::Show(“Unable to connect to the server!!") 
        } 
        $errorActionPreference="Continue" 
        $statusBar1.Text="Ready" 
    } 
    $Close={ 
        $formMemoryPieChart.close() 
    } 
 # --End User Generated Script-- 
 #---------------------------------------------- 
 # Generated Events 
 #---------------------------------------------- 
 $Form_StateCorrection_Load= 
 { 
  #Correct the initial state of the form to prevent the .Net maximized form issue 
  $formMemoryPieChart.WindowState = $InitialFormWindowState 
 } 
 #---------------------------------------------- 
 #region Generated Form Code 
 #---------------------------------------------- 
 # 
 # formMemoryPieChart 
 # 
 $formMemoryPieChart.Controls.Add($buttonSave) 
 $formMemoryPieChart.Controls.Add($chart1) 
 $formMemoryPieChart.ClientSize = New-Object System.Drawing.Size(575,575) 
 $formMemoryPieChart.DataBindings.DefaultDataSourceUpdateMode = [System.Windows.Forms.DataSourceUpdateMode]::OnValidation  
 $formMemoryPieChart.MinimumSize = New-Object System.Drawing.Size(300,300) 
 $formMemoryPieChart.Name = "formMemoryPieChart" 
 $formMemoryPieChart.Text = "Disk Space Pie Chart" 
 $formMemoryPieChart.Controls.Add($btnRefresh) 
 $formMemoryPieChart.Controls.Add($lblServicePack) 
 $formMemoryPieChart.Controls.Add($lblOS) 
 $formMemoryPieChart.Controls.Add($lblDBName) 
 $formMemoryPieChart.Controls.Add($statusBar1) 
 $formMemoryPieChart.Controls.Add($btnClose) 
 $formMemoryPieChart.Controls.Add($txtComputerName) 
 $formMemoryPieChart.ClientSize = New-Object System.Drawing.Size(850,600) 
 $formMemoryPieChart.DataBindings.DefaultDataSourceUpdateMode = [System.Windows.Forms.DataSourceUpdateMode]::OnValidation  
 $formMemoryPieChart.Name = "form1" 
 $formMemoryPieChart.Text = "Physical and Virtual Memory Usage Information" 
 $formMemoryPieChart.add_Load($PopulateList) 
 $formMemoryPieChart.add_Load($FormEvent_Load) 
$System_Drawing_Size = New-Object System.Drawing.Size  
$System_Drawing_Size.Width = 825 
$System_Drawing_Size.Height = 100 
$dataGrid1.Size = $System_Drawing_Size  
$dataGrid1.DataBindings.DefaultDataSourceUpdateMode = 0  
$dataGrid1.HeaderForeColor = [System.Drawing.Color]::FromArgb(255,0,0,0)  
$dataGrid1.Name = "dataGrid1"  
$dataGrid1.DataMember = ""  
$dataGrid1.TabIndex = 0  
$System_Drawing_Point = New-Object System.Drawing.Point  
$System_Drawing_Point.X =13  
$System_Drawing_Point.Y = 62 
$dataGrid1.Location = $System_Drawing_Point  
$formMemoryPieChart.Controls.Add($dataGrid1)  
$dataGrid1.CaptionText='Physical and Virtual Memory Usage Information' 
    # 
    # btnRefresh 
    # 
    $btnRefresh.DataBindings.DefaultDataSourceUpdateMode = [System.Windows.Forms.DataSourceUpdateMode]::OnValidation  
    $btnRefresh.Enabled = $TRUE 
    $btnRefresh.Location = New-Object System.Drawing.Point(230,35) 
    $btnRefresh.Name = "btnRefresh" 
    $btnRefresh.Size = New-Object System.Drawing.Size(95,20) 
    $btnRefresh.TabIndex = 2 
    $btnRefresh.Text = "GetMemory" 
    $btnRefresh.UseVisualStyleBackColor = $True 
    $btnRefresh.add_Click($GetData) 
    # 
    # 
    # btnClose 
    # 
    $btnClose.DataBindings.DefaultDataSourceUpdateMode = [System.Windows.Forms.DataSourceUpdateMode]::OnValidation  
    $btngetdata.Enabled = $TRUE 
    $btnClose.Location = New-Object System.Drawing.Point(373,35) 
    $btnClose.Name = "btnClose" 
    $btnClose.Size = New-Object System.Drawing.Size(95,20) 
    $btnClose.TabIndex = 3 
    $btnClose.Text = "Close" 
    $btnClose.UseVisualStyleBackColor = $True 
    $btnClose.add_Click($Close) 
    # 
    # lblDBName 
    # 
    $lblDBName.DataBindings.DefaultDataSourceUpdateMode = [System.Windows.Forms.DataSourceUpdateMode]::OnValidation  
    $lblDBName.Font = New-Object System.Drawing.Font("Lucida Console",8.25,1,3,1) 
    $lblDBName.Location = New-Object System.Drawing.Point(13,10) 
    $lblDBName.Name = "lblDBName" 
    $lblDBName.Size = New-Object System.Drawing.Size(178,23) 
    $lblDBName.TabIndex = 0 
    $lblDBName.Text = "Enter Server Name " 
    $lblDBName.Visible = $TRUE 
    # 
    #$txtComputerName.text 
    #txtComputerName 
    $txtComputerName.DataBindings.DefaultDataSourceUpdateMode = [System.Windows.Forms.DataSourceUpdateMode]::OnValidation  
    $txtComputerName.Location = New-Object System.Drawing.Point(13, 35) 
    $txtComputerName.Name = "txtComputerName" 
    $txtComputerName.TabIndex = 1 
    $txtComputerName.Size = New-Object System.Drawing.Size(200,70) 
    $txtComputerName.visible=$TRUE 
    # 
    # lblServicePack 
    # 
    $lblServicePack.DataBindings.DefaultDataSourceUpdateMode = [System.Windows.Forms.DataSourceUpdateMode]::OnValidation  
    $lblServicePack.Font = New-Object System.Drawing.Font("Lucida Console",8.25,1,3,1) 
    $lblServicePack.Location = New-Object System.Drawing.Point(13,100) 
    $lblServicePack.Name = "lblServicePack" 
    $lblServicePack.Size = New-Object System.Drawing.Size(278,23) 
#    $lblServicePack.TabIndex = 0 
    $lblServicePack.Text = "ServicePack" 
    $lblServicePack.Visible = $False 
    # 
    # lblOS 
    # 
    $lblOS.DataBindings.DefaultDataSourceUpdateMode = [System.Windows.Forms.DataSourceUpdateMode]::OnValidation  
    $lblOS.Font = New-Object System.Drawing.Font("Lucida Console",8.25,1,3,1) 
    $lblOS.Location = New-Object System.Drawing.Point(12,77) 
    $lblOS.Name = "lblOS" 
    $lblOS.Size = New-Object System.Drawing.Size(278,23) 
#    $lblOS.TabIndex = 2 
    $lblOS.Text = "Service Information" 
    $lblOS.Visible = $False 
    # 
    # statusBar1 
    # 
    $statusBar1.DataBindings.DefaultDataSourceUpdateMode = [System.Windows.Forms.DataSourceUpdateMode]::OnValidation  
    $statusBar1.Location = New-Object System.Drawing.Point(0,365) 
    $statusBar1.Name = "statusBar1" 
    $statusBar1.Size = New-Object System.Drawing.Size(390,22) 
    $statusBar1.TabIndex = 5 
    $statusBar1.Text = "statusBar1" 
 # 
 # chart1 
 # 
 $chart1.Anchor = [System.Windows.Forms.AnchorStyles]::Top -bor [System.Windows.Forms.AnchorStyles]::Bottom -bor [System.Windows.Forms.AnchorStyles]::Left -bor [System.Windows.Forms.AnchorStyles]::Right  
 $chart1.BackGradientStyle = [System.Windows.Forms.DataVisualization.Charting.GradientStyle]::TopBottom  
 $System_Windows_Forms_DataVisualization_Charting_ChartArea_1 = New-Object System.Windows.Forms.DataVisualization.Charting.ChartArea 
 $System_Windows_Forms_DataVisualization_Charting_ChartArea_1.Area3DStyle.Enable3D = $True 
 $System_Windows_Forms_DataVisualization_Charting_ChartArea_1.AxisX.Title = "Disk" 
 $System_Windows_Forms_DataVisualization_Charting_ChartArea_1.AxisY.Title = "Disk Space (MB)" 
 $System_Windows_Forms_DataVisualization_Charting_ChartArea_1.Name = "ChartArea1" 
 [void]$chart1.ChartAreas.Add($System_Windows_Forms_DataVisualization_Charting_ChartArea_1) 
 $chart1.DataBindings.DefaultDataSourceUpdateMode = [System.Windows.Forms.DataSourceUpdateMode]::OnValidation  
 $chart1.Location = New-Object System.Drawing.Point(13,200) 
 $chart1.Name = "chart1" 
 $System_Windows_Forms_DataVisualization_Charting_Series_2 = New-Object System.Windows.Forms.DataVisualization.Charting.Series 
 $System_Windows_Forms_DataVisualization_Charting_Series_2.ChartArea = "ChartArea1" 
 $System_Windows_Forms_DataVisualization_Charting_Series_2.ChartType = [System.Windows.Forms.DataVisualization.Charting.SeriesChartType]::Pie  
 $System_Windows_Forms_DataVisualization_Charting_Series_2.CustomProperties = "DrawingStyle=Cylinder, PieDrawingStyle=Concave" 
 $System_Windows_Forms_DataVisualization_Charting_Series_2.IsVisibleInLegend = $False 
 $System_Windows_Forms_DataVisualization_Charting_Series_2.Legend = "Legend1" 
 $System_Windows_Forms_DataVisualization_Charting_Series_2.Name = "Memory Area" 
 [void]$chart1.Series.Add($System_Windows_Forms_DataVisualization_Charting_Series_2) 
 $chart1.Size = New-Object System.Drawing.Size(825,350) 
 $chart1.TabIndex = 0 
 $chart1.Text = "chart1" 
 $System_Windows_Forms_DataVisualization_Charting_Title_3 = New-Object System.Windows.Forms.DataVisualization.Charting.Title 
 $System_Windows_Forms_DataVisualization_Charting_Title_3.Alignment = [System.Drawing.ContentAlignment]::TopCenter  
 $System_Windows_Forms_DataVisualization_Charting_Title_3.DockedToChartArea = "ChartArea1" 
 $System_Windows_Forms_DataVisualization_Charting_Title_3.IsDockedInsideChartArea = $False 
 $System_Windows_Forms_DataVisualization_Charting_Title_3.Name = "Title1" 
 $System_Windows_Forms_DataVisualization_Charting_Title_3.Text = "Memory Area" 
 [void]$chart1.Titles.Add($System_Windows_Forms_DataVisualization_Charting_Title_3) 
 # 
 #Save the initial state of the form 
 $InitialFormWindowState = $formMemoryPieChart.WindowState 
 #Init the OnLoad event to correct the initial state of the form 
 $formMemoryPieChart.add_Load($Form_StateCorrection_Load) 
 #Show the Form 
 return $formMemoryPieChart.ShowDialog() 
} #End Function 
#Call OnApplicationLoad to initialize 
if(OnApplicationLoad -eq $true) 
{ 
    #Create the form 
    Call-SystemInformation_pff | Out-Null 
    #Perform cleanup 
    OnApplicationExit 
} 
} 
Get-MemoryGUI

Rate

You rated this post out of 5. Change rating

Share

Share

Rate

You rated this post out of 5. Change rating