mirror of
https://github.com/ChrisTitusTech/winutil.git
synced 2025-07-06 05:03:52 -05:00
Compare commits
4 Commits
f7263be9db
...
24.06.20
Author | SHA1 | Date | |
---|---|---|---|
c942287172 | |||
7c58eb0e78 | |||
9be030a4e2 | |||
4348f052c3 |
@ -1831,6 +1831,14 @@
|
||||
"link": "https://www.revouninstaller.com/",
|
||||
"winget": "RevoUninstaller.RevoUninstaller"
|
||||
},
|
||||
"WPFInstallWiseProgramUninstaller": {
|
||||
"category": "Utilities",
|
||||
"choco": "na",
|
||||
"content": "Wise Program Uninstaller (WiseCleaner)",
|
||||
"description": "Wise Program Uninstaller is the perfect solution for uninstalling Windows programs, allowing you to uninstall applications quickly and completely using its simple and user-friendly interface.",
|
||||
"link": "https://www.wisecleaner.com/wise-program-uninstaller.html",
|
||||
"winget": "WiseCleaner.WiseProgramUninstaller"
|
||||
},
|
||||
"WPFInstallrevolt": {
|
||||
"category": "Communications",
|
||||
"choco": "na",
|
||||
@ -2791,6 +2799,14 @@
|
||||
"link": "https://github.com/7gxycn08/ForceAutoHDR",
|
||||
"winget": "ForceAutoHDR.7gxycn08"
|
||||
},
|
||||
"WPFInstallJoyToKey": {
|
||||
"category": "Utilities",
|
||||
"choco": "joytokey",
|
||||
"content": "JoyToKey",
|
||||
"description": "enables PC game controllers to emulate the keyboard and mouse input",
|
||||
"link": "https://joytokey.net/en/",
|
||||
"winget": "JTKsoftware.JoyToKey"
|
||||
},
|
||||
"WPFInstallnditools": {
|
||||
"category": "Multimedia Tools",
|
||||
"choco": "na",
|
||||
|
@ -15,6 +15,7 @@ function Invoke-WinUtilNumLock {
|
||||
Write-Host "Disabling Numlock on startup"
|
||||
$value = 0
|
||||
}
|
||||
New-PSDrive -PSProvider Registry -Name HKU -Root HKEY_USERS
|
||||
$Path = "HKU:\.Default\Control Panel\Keyboard"
|
||||
Set-ItemProperty -Path $Path -Name InitialKeyboardIndicators -Value $value
|
||||
}
|
||||
|
@ -178,67 +178,17 @@ $cttLogoPath = @"
|
||||
$winutilTextBlock.Foreground = $foregroundColor
|
||||
$winutilTextBlock.Margin = New-Object Windows.Thickness(10, 5, 10, 5) # Add margins around the text block
|
||||
$stackPanel.Children.Add($winutilTextBlock)
|
||||
|
||||
# Add TextBlock for information with text wrapping and margins
|
||||
$messageTextBlock = New-Object Windows.Controls.TextBlock
|
||||
$messageTextBlock.Text = $Message
|
||||
$messageTextBlock.TextWrapping = [Windows.TextWrapping]::Wrap # Enable text wrapping
|
||||
$messageTextBlock.HorizontalAlignment = [Windows.HorizontalAlignment]::Left
|
||||
$messageTextBlock.VerticalAlignment = [Windows.VerticalAlignment]::Top
|
||||
$messageTextBlock.Margin = New-Object Windows.Thickness(10) # Add margins around the text block
|
||||
|
||||
# Define the Regex to find hyperlinks formatted as HTML <a> tags
|
||||
$regex = [regex]::new('<a href="([^"]+)">([^<]+)</a>')
|
||||
$lastPos = 0
|
||||
|
||||
# Iterate through each match and add regular text and hyperlinks
|
||||
foreach ($match in $regex.Matches($Message)) {
|
||||
# Add the text before the hyperlink, if any
|
||||
$textBefore = $Message.Substring($lastPos, $match.Index - $lastPos)
|
||||
if ($textBefore.Length -gt 0) {
|
||||
$messageTextBlock.Inlines.Add((New-Object Windows.Documents.Run($textBefore)))
|
||||
}
|
||||
|
||||
# Create and add the hyperlink
|
||||
$hyperlink = New-Object Windows.Documents.Hyperlink
|
||||
$hyperlink.NavigateUri = New-Object System.Uri($match.Groups[1].Value)
|
||||
$hyperlink.Inlines.Add($match.Groups[2].Value)
|
||||
$hyperlink.TextDecorations = [Windows.TextDecorations]::None # Remove underline
|
||||
$hyperlink.Foreground = $foregroundColor
|
||||
$hyperlink.Add_Click({
|
||||
param($sender, $args)
|
||||
[System.Diagnostics.Process]::Start($sender.NavigateUri.AbsoluteUri)
|
||||
})
|
||||
$hyperlink.Add_MouseEnter({
|
||||
param($sender, $args)
|
||||
$sender.Foreground = [Windows.Media.Brushes]::LightGray
|
||||
})
|
||||
$hyperlink.Add_MouseLeave({
|
||||
param($sender, $args)
|
||||
$sender.Foreground = $foregroundColor
|
||||
})
|
||||
|
||||
$messageTextBlock.Inlines.Add($hyperlink)
|
||||
|
||||
# Update the last position
|
||||
$lastPos = $match.Index + $match.Length
|
||||
}
|
||||
|
||||
# Add any remaining text after the last hyperlink
|
||||
if ($lastPos -lt $Message.Length) {
|
||||
$textAfter = $Message.Substring($lastPos)
|
||||
$messageTextBlock.Inlines.Add((New-Object Windows.Documents.Run($textAfter)))
|
||||
}
|
||||
|
||||
# If no matches, add the entire message as a run
|
||||
if ($regex.Matches($Message).Count -eq 0) {
|
||||
$messageTextBlock.Inlines.Add((New-Object Windows.Documents.Run($Message)))
|
||||
}
|
||||
|
||||
|
||||
# Add the TextBlock to the Grid
|
||||
$grid.Children.Add($messageTextBlock)
|
||||
[Windows.Controls.Grid]::SetRow($messageTextBlock, 1) # Set the row to the second row (0-based index)
|
||||
|
||||
|
||||
# Add OK button
|
||||
$okButton = New-Object Windows.Controls.Button
|
||||
$okButton.Content = "OK"
|
||||
|
@ -467,13 +467,14 @@ $sync["AboutMenuItem"].Add_Click({
|
||||
# Handle Export menu item click
|
||||
Write-Debug "About clicked"
|
||||
$sync["SettingsPopup"].IsOpen = $false
|
||||
# Example usage
|
||||
$authorInfo = @"
|
||||
Author : <a href="https://github.com/ChrisTitusTech">@christitustech</a>
|
||||
Runspace : <a href="https://github.com/DeveloperDurp">@DeveloperDurp</a>
|
||||
GUI : <a href="https://github.com/KonTy">@KonTy</a>
|
||||
MicroWin : <a href="https://github.com/KonTy">@KonTy</a>
|
||||
GitHub : <a href="https://github.com/ChrisTitusTech/winutil">ChrisTitusTech/winutil</a>
|
||||
Version : <a href="https://github.com/ChrisTitusTech/winutil/releases/tag/$($sync.version)">$($sync.version)</a>
|
||||
Author : @christitustech
|
||||
Runspace : @DeveloperDurp
|
||||
GUI : @KonTy
|
||||
MicroWin : @KonTy
|
||||
GitHub : https://github.com/ChrisTitusTech/winutil
|
||||
Version : $($sync.version)
|
||||
"@
|
||||
Show-CustomDialog -Message $authorInfo -Width 400
|
||||
})
|
||||
|
33
winutil.ps1
33
winutil.ps1
@ -8,7 +8,7 @@
|
||||
Author : Chris Titus @christitustech
|
||||
Runspace Author: @DeveloperDurp
|
||||
GitHub : https://github.com/ChrisTitusTech
|
||||
Version : 24.06.11
|
||||
Version : 24.06.20
|
||||
#>
|
||||
param (
|
||||
[switch]$Debug,
|
||||
@ -45,7 +45,7 @@ Add-Type -AssemblyName System.Windows.Forms
|
||||
# Variable to sync between runspaces
|
||||
$sync = [Hashtable]::Synchronized(@{})
|
||||
$sync.PSScriptRoot = $PSScriptRoot
|
||||
$sync.version = "24.06.11"
|
||||
$sync.version = "24.06.20"
|
||||
$sync.configs = @{}
|
||||
$sync.ProcessRunning = $false
|
||||
|
||||
@ -1985,6 +1985,7 @@ function Invoke-WinUtilNumLock {
|
||||
Write-Host "Disabling Numlock on startup"
|
||||
$value = 0
|
||||
}
|
||||
New-PSDrive -PSProvider Registry -Name HKU -Root HKEY_USERS
|
||||
$Path = "HKU:\.Default\Control Panel\Keyboard"
|
||||
Set-ItemProperty -Path $Path -Name InitialKeyboardIndicators -Value $value
|
||||
}
|
||||
@ -7170,6 +7171,14 @@ $sync.configs.applications = '{
|
||||
"link": "https://www.revouninstaller.com/",
|
||||
"winget": "RevoUninstaller.RevoUninstaller"
|
||||
},
|
||||
"WPFInstallWiseProgramUninstaller": {
|
||||
"category": "Utilities",
|
||||
"choco": "na",
|
||||
"content": "Wise Program Uninstaller (WiseCleaner)",
|
||||
"description": "Wise Program Uninstaller is the perfect solution for uninstalling Windows programs, allowing you to uninstall applications quickly and completely using its simple and user-friendly interface.",
|
||||
"link": "https://www.wisecleaner.com/wise-program-uninstaller.html",
|
||||
"winget": "WiseCleaner.WiseProgramUninstaller"
|
||||
},
|
||||
"WPFInstallrevolt": {
|
||||
"category": "Communications",
|
||||
"choco": "na",
|
||||
@ -8130,6 +8139,14 @@ $sync.configs.applications = '{
|
||||
"link": "https://github.com/7gxycn08/ForceAutoHDR",
|
||||
"winget": "ForceAutoHDR.7gxycn08"
|
||||
},
|
||||
"WPFInstallJoyToKey": {
|
||||
"category": "Utilities",
|
||||
"choco": "joytokey",
|
||||
"content": "JoyToKey",
|
||||
"description": "enables PC game controllers to emulate the keyboard and mouse input",
|
||||
"link": "https://joytokey.net/en/",
|
||||
"winget": "JTKsoftware.JoyToKey"
|
||||
},
|
||||
"WPFInstallnditools": {
|
||||
"category": "Multimedia Tools",
|
||||
"choco": "na",
|
||||
@ -14183,20 +14200,23 @@ $inputXML = '<Window x:Class="WinUtility.MainWindow"
|
||||
<CheckBox Name="WPFInstalljdownloader" Content="JDownloader" ToolTip="JDownloader is a feature-rich download manager with support for various file hosting services." Margin="0,0,2,0"/><TextBlock Name="WPFInstalljdownloaderLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="http://jdownloader.org/" />
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<CheckBox Name="WPFInstallJoyToKey" Content="JoyToKey" ToolTip="enables PC game controllers to emulate the keyboard and mouse input" Margin="0,0,2,0"/><TextBlock Name="WPFInstallJoyToKeyLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://joytokey.net/en/" />
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<CheckBox Name="WPFInstalljpegview" Content="JPEG View" ToolTip="JPEGView is a lean, fast and highly configurable viewer/editor for JPEG, BMP, PNG, WEBP, TGA, GIF, JXL, HEIC, HEIF, AVIF and TIFF images with a minimal GUI" Margin="0,0,2,0"/><TextBlock Name="WPFInstalljpegviewLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://github.com/sylikc/jpegview" />
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<CheckBox Name="WPFInstallkdeconnect" Content="KDE Connect" ToolTip="KDE Connect allows seamless integration between your KDE desktop and mobile devices." Margin="0,0,2,0"/><TextBlock Name="WPFInstallkdeconnectLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://community.kde.org/KDEConnect" />
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<CheckBox Name="WPFInstallkeepass" Content="KeePassXC" ToolTip="KeePassXC is a cross-platform, open-source password manager with strong encryption features." Margin="0,0,2,0"/><TextBlock Name="WPFInstallkeepassLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://keepassxc.org/" />
|
||||
</StackPanel>
|
||||
|
||||
</StackPanel>
|
||||
</Border>
|
||||
<Border Grid.Row="1" Grid.Column="4">
|
||||
<StackPanel Background="{MainBackgroundColor}" SnapsToDevicePixels="True">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<CheckBox Name="WPFInstallkeepass" Content="KeePassXC" ToolTip="KeePassXC is a cross-platform, open-source password manager with strong encryption features." Margin="0,0,2,0"/><TextBlock Name="WPFInstallkeepassLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://keepassxc.org/" />
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<CheckBox Name="WPFInstalllinkshellextension" Content="Link Shell extension" ToolTip="Link Shell Extension (LSE) provides for the creation of Hardlinks, Junctions, Volume Mountpoints, Symbolic Links, a folder cloning process that utilises Hardlinks or Symbolic Links and a copy process taking care of Junctions, Symbolic Links, and Hardlinks. LSE, as its name implies is implemented as a Shell extension and is accessed from Windows Explorer, or similar file/folder managers." Margin="0,0,2,0"/><TextBlock Name="WPFInstalllinkshellextensionLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html" />
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
@ -14386,6 +14406,9 @@ $inputXML = '<Window x:Class="WinUtility.MainWindow"
|
||||
<CheckBox Name="WPFInstallwinrar" Content="WinRAR" ToolTip="WinRAR is a powerful archive manager that allows you to create, manage, and extract compressed files." Margin="0,0,2,0"/><TextBlock Name="WPFInstallwinrarLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.win-rar.com/" />
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<CheckBox Name="WPFInstallWiseProgramUninstaller" Content="Wise Program Uninstaller (WiseCleaner)" ToolTip="Wise Program Uninstaller is the perfect solution for uninstalling Windows programs, allowing you to uninstall applications quickly and completely using its simple and user-friendly interface." Margin="0,0,2,0"/><TextBlock Name="WPFInstallWiseProgramUninstallerLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.wisecleaner.com/wise-program-uninstaller.html" />
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<CheckBox Name="WPFInstallwisetoys" Content="WiseToys" ToolTip="WiseToys is a set of utilities and tools designed to enhance and optimize your Windows experience." Margin="0,0,2,0"/><TextBlock Name="WPFInstallwisetoysLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://toys.wisecleaner.com/" />
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
|
Reference in New Issue
Block a user