Created
April 18, 2024 12:33
-
-
Save nord-/4b64f8a2a9ee5e5e8fba89782f881779 to your computer and use it in GitHub Desktop.
Pause/Press any key to continue functionality in PowerShell
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Function Pause ($Message = "Press any key to continue…") { | |
If ($psISE) { | |
# The "ReadKey" functionality is not supported in Windows PowerShell ISE. | |
$Shell = New-Object -ComObject "WScript.Shell" | |
$Button = $Shell.Popup("Click OK to continue.", 0, "Script Paused", 0) | |
Return | |
} | |
Write-Host -NoNewline $Message | |
$Ignore = | |
16, # Shift (left or right) | |
17, # Ctrl (left or right) | |
18, # Alt (left or right) | |
20, # Caps lock | |
91, # Windows key (left) | |
92, # Windows key (right) | |
93, # Menu key | |
144, # Num lock | |
145, # Scroll lock | |
166, # Back | |
167, # Forward | |
168, # Refresh | |
169, # Stop | |
170, # Search | |
171, # Favorites | |
172, # Start/Home | |
173, # Mute | |
174, # Volume Down | |
175, # Volume Up | |
176, # Next Track | |
177, # Previous Track | |
178, # Stop Media | |
179, # Play | |
180, # Mail | |
181, # Select Media | |
182, # Application 1 | |
183 # Application 2 | |
While ($KeyInfo.VirtualKeyCode -Eq $Null -Or $Ignore -Contains $KeyInfo.VirtualKeyCode) { | |
$KeyInfo = $Host.UI.RawUI.ReadKey("NoEcho, IncludeKeyDown") | |
} | |
Write-Host | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Usage from another script: