Files
PS_AppDeploy-Scripts/Acrobat/24.x/AppDeployToolkit/AppDeployToolkitHelp.ps1
2025-09-03 16:30:10 -04:00

162 lines
6.5 KiB
PowerShell

<#
.SYNOPSIS
PSApppDeployToolkit - Displays a graphical console to browse the help for the App Deployment Toolkit functions.
.DESCRIPTION
Displays a graphical console to browse the help for the App Deployment Toolkit functions
The script dot-sources the AppDeployToolkitMain.ps1 script which contains the logic and functions required to install or uninstall an application.
PSApppDeployToolkit is licensed under the GNU LGPLv3 License - (C) 2023 PSAppDeployToolkit Team (Sean Lillis, Dan Cunningham and Muhammad Mashwani).
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the
Free Software Foundation, either version 3 of the License, or any later version. This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details. You should have received a copy of the GNU Lesser General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
.EXAMPLE
powershell.exe -File .\AppDeployToolkitHelp.ps1
.INPUTS
None
You cannot pipe objects to this script.
.OUTPUTS
None
This script does not generate any output.
.NOTES
.LINK
https://psappdeploytoolkit.com
#>
##*===============================================
##* VARIABLE DECLARATION
##*===============================================
## Variables: Script
[string]$appDeployToolkitHelpName = 'PSAppDeployToolkitHelp'
[string]$appDeployHelpScriptFriendlyName = 'App Deploy Toolkit Help'
[version]$appDeployHelpScriptVersion = [version]'3.9.3'
[string]$appDeployHelpScriptDate = '02/05/2023'
## Variables: Environment
[string]$scriptDirectory = Split-Path -Path $MyInvocation.MyCommand.Definition -Parent
# Dot source the App Deploy Toolkit Functions
. "$scriptDirectory\AppDeployToolkitMain.ps1" -DisableLogging
. "$scriptDirectory\AppDeployToolkitExtensions.ps1"
##*===============================================
##* END VARIABLE DECLARATION
##*===============================================
##*===============================================
##* FUNCTION LISTINGS
##*===============================================
Function Show-HelpConsole {
## Import the Assemblies
Add-Type -AssemblyName 'System.Windows.Forms' -ErrorAction 'Stop'
Add-Type -AssemblyName System.Drawing -ErrorAction 'Stop'
## Get the default font to use in the user interface
[System.Drawing.Font]$defaultFont = [System.Drawing.SystemFonts]::DefaultFont
## Form Objects
$HelpForm = New-Object -TypeName 'System.Windows.Forms.Form'
$HelpListBox = New-Object -TypeName 'System.Windows.Forms.ListBox'
$HelpTextBox = New-Object -TypeName 'System.Windows.Forms.RichTextBox'
$InitialFormWindowState = New-Object -TypeName 'System.Windows.Forms.FormWindowState'
## Form Code
$System_Drawing_Size = New-Object -TypeName 'System.Drawing.Size'
$System_Drawing_Size.Height = 665
$System_Drawing_Size.Width = 957
$HelpForm.ClientSize = $System_Drawing_Size
$HelpForm.DataBindings.DefaultDataSourceUpdateMode = 0
$HelpForm.Name = 'HelpForm'
$HelpForm.Text = 'PowerShell App Deployment Toolkit Help Console'
$HelpForm.WindowState = 'Normal'
$HelpForm.ShowInTaskbar = $true
$HelpForm.FormBorderStyle = 'Fixed3D'
$HelpForm.MaximizeBox = $false
$HelpForm.AutoSize = $true
$HelpForm.AutoScaleMode = 'Font'
$HelpForm.AutoScaleDimensions = New-Object System.Drawing.SizeF(6, 13) #Set as if using 96 DPI
$HelpForm.Icon = New-Object -TypeName 'System.Drawing.Icon' -ArgumentList $AppDeployLogoIcon
$HelpListBox.Anchor = 7
$HelpListBox.BorderStyle = 1
$HelpListBox.DataBindings.DefaultDataSourceUpdateMode = 0
$HelpListBox.Font = "$($defaultFont.Name), $($defaultFont.Size + 1), style=Regular"
$HelpListBox.FormattingEnabled = $true
$HelpListBox.ItemHeight = 16
$System_Drawing_Point = New-Object -TypeName 'System.Drawing.Point'
$System_Drawing_Point.X = 0
$System_Drawing_Point.Y = 0
$HelpListBox.Location = $System_Drawing_Point
$HelpListBox.Name = 'HelpListBox'
$System_Drawing_Size = New-Object -TypeName 'System.Drawing.Size'
$System_Drawing_Size.Height = 658
$System_Drawing_Size.Width = 271
$HelpListBox.Size = $System_Drawing_Size
$HelpListBox.Sorted = $true
$HelpListBox.TabIndex = 2
$HelpListBox.add_SelectedIndexChanged({ $HelpTextBox.Text = Get-Help -Name $HelpListBox.SelectedItem -Full | Out-String })
$helpFunctions = Get-Command -CommandType 'Function' | Where-Object { ($_.HelpUri -match 'psappdeploytoolkit') -and ($_.Definition -notmatch 'internal script function') } | Select-Object -ExpandProperty Name
$null = $HelpListBox.Items.AddRange($helpFunctions)
$HelpForm.Controls.Add($HelpListBox)
$HelpTextBox.Anchor = 11
$HelpTextBox.BorderStyle = 1
$HelpTextBox.DataBindings.DefaultDataSourceUpdateMode = 0
$HelpTextBox.Font = "$($defaultFont.Name), $($defaultFont.Size), style=Regular"
$HelpTextBox.ForeColor = [System.Drawing.Color]::FromArgb(255, 0, 0, 0)
$System_Drawing_Point = New-Object -TypeName System.Drawing.Point
$System_Drawing_Point.X = 277
$System_Drawing_Point.Y = 0
$HelpTextBox.Location = $System_Drawing_Point
$HelpTextBox.Name = 'HelpTextBox'
$HelpTextBox.ReadOnly = $True
$System_Drawing_Size = New-Object -TypeName 'System.Drawing.Size'
$System_Drawing_Size.Height = 658
$System_Drawing_Size.Width = 680
$HelpTextBox.Size = $System_Drawing_Size
$HelpTextBox.TabIndex = 1
$HelpTextBox.Text = ''
$HelpForm.Controls.Add($HelpTextBox)
## Save the initial state of the form
$InitialFormWindowState = $HelpForm.WindowState
## Init the OnLoad event to correct the initial state of the form
$HelpForm.add_Load($OnLoadForm_StateCorrection)
## Show the Form
$null = $HelpForm.ShowDialog()
}
##*===============================================
##* END FUNCTION LISTINGS
##*===============================================
##*===============================================
##* SCRIPT BODY
##*===============================================
Write-Log -Message "Load [$appDeployHelpScriptFriendlyName] console..." -Source $appDeployToolkitHelpName
## Show the help console
Show-HelpConsole
Write-Log -Message "[$appDeployHelpScriptFriendlyName] console closed." -Source $appDeployToolkitHelpName
##*===============================================
##* END SCRIPT BODY
##*===============================================