mirror of
https://github.com/massgravel/Microsoft-Activation-Scripts.git
synced 2026-01-29 09:19:00 +01:00
Add Run_GUI.cmd to launch the MAS_GUI PowerShell script
This commit is contained in:
parent
31a79148b1
commit
135aa20d5a
14 changed files with 25183 additions and 46245 deletions
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,13 +1,13 @@
|
||||||
--------------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------------
|
||||||
Activation Type Supported Product Activation Period
|
Activation Type Supported Product Activation Period
|
||||||
--------------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------------
|
||||||
|
|
||||||
HWID - Windows 10-11 - Permanent
|
HWID - Windows 10-11 - Permanent
|
||||||
Ohook - Office - Permanent
|
Ohook - Office - Permanent
|
||||||
TSforge - Windows / ESU / Office - Permanent
|
TSforge - Windows / ESU / Office - Permanent
|
||||||
Online KMS - Windows / Office - 180 Days. Lifetime With Renewal Task
|
Online KMS - Windows / Office - 180 Days. Lifetime With Renewal Task
|
||||||
|
|
||||||
--------------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------------
|
||||||
|
|
||||||
Check the below link for more details:
|
Check the below link for more details:
|
||||||
https://massgrave.dev/chart
|
https://massgrave.dev/chart
|
||||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,3 +1,3 @@
|
||||||
<html>
|
<html>
|
||||||
<meta http-equiv="refresh" content="0; url=https://massgrave.dev/">
|
<meta http-equiv="refresh" content="0; url=https://massgrave.dev/">
|
||||||
</html>
|
</html>
|
||||||
376
App/MAS_GUI.ps1
Normal file
376
App/MAS_GUI.ps1
Normal file
|
|
@ -0,0 +1,376 @@
|
||||||
|
<#
|
||||||
|
.SYNOPSIS
|
||||||
|
Win11 Style GUI for Microsoft Activation Scripts (MAS)
|
||||||
|
.DESCRIPTION
|
||||||
|
A modern, Fluent-inspired interface for MAS with auto-detection of system status.
|
||||||
|
#>
|
||||||
|
|
||||||
|
# --- Self-Elevation ---
|
||||||
|
$currentPrincipal = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())
|
||||||
|
if (-not $currentPrincipal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) {
|
||||||
|
$scriptPath = $MyInvocation.MyCommand.Path
|
||||||
|
Start-Process powershell.exe -ArgumentList "-NoProfile -ExecutionPolicy Bypass -File `"$scriptPath`"" -Verb RunAs
|
||||||
|
Exit
|
||||||
|
}
|
||||||
|
|
||||||
|
# --- Assemblies ---
|
||||||
|
Add-Type -AssemblyName PresentationFramework
|
||||||
|
Add-Type -AssemblyName System.Windows.Forms
|
||||||
|
Add-Type -AssemblyName System.Drawing
|
||||||
|
|
||||||
|
# --- Helper: Get System Info ---
|
||||||
|
function Get-SystemInfo {
|
||||||
|
try {
|
||||||
|
$os = Get-CimInstance Win32_OperatingSystem
|
||||||
|
$comp = Get-CimInstance Win32_ComputerSystem
|
||||||
|
|
||||||
|
$edition = $os.Caption -replace "Microsoft ", ""
|
||||||
|
$version = $os.Version
|
||||||
|
$build = $os.BuildNumber
|
||||||
|
|
||||||
|
# Simple Activation Check (Partial)
|
||||||
|
# 1=Licensed
|
||||||
|
$license = Get-CimInstance SoftwareLicensingProduct | Where-Object { $_.PartialProductKey -and $_.Name -like "Windows*" } | Select-Object -First 1
|
||||||
|
$status = if ($license.LicenseStatus -eq 1) { "Permanently Activated" } else { "Not Activated / check details" }
|
||||||
|
if ($license.LicenseStatus -eq 1 -and $license.GracePeriodRemaining -gt 0) { $status = "Volume/KMS Activated" }
|
||||||
|
|
||||||
|
return @{
|
||||||
|
Edition = $edition
|
||||||
|
Version = "Build $build"
|
||||||
|
Status = $status
|
||||||
|
PCName = $comp.Name
|
||||||
|
}
|
||||||
|
} catch {
|
||||||
|
return @{ Edition = "Unknown"; Version = ""; Status = "Unknown"; PCName = "Unknown" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$sysInfo = Get-SystemInfo
|
||||||
|
|
||||||
|
# --- XAML ---
|
||||||
|
[xml]$xaml = @"
|
||||||
|
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
Title="Microsoft Activation Scripts" Height="600" Width="950"
|
||||||
|
WindowStartupLocation="CenterScreen" ResizeMode="CanResize"
|
||||||
|
Background="#202020" Foreground="#FFFFFF" FontFamily="Segoe UI Variable Display, Segoe UI, sans-serif">
|
||||||
|
|
||||||
|
<Window.Resources>
|
||||||
|
<!-- Win11 Palette -->
|
||||||
|
<SolidColorBrush x:Key="AppBackground" Color="#202020"/>
|
||||||
|
<SolidColorBrush x:Key="NavBackground" Color="#191919"/>
|
||||||
|
<SolidColorBrush x:Key="CardBackground" Color="#272727"/>
|
||||||
|
<SolidColorBrush x:Key="CardBorder" Color="#353535"/>
|
||||||
|
<SolidColorBrush x:Key="CardHover" Color="#323232"/>
|
||||||
|
<SolidColorBrush x:Key="AccentColor" Color="#60CDFF"/>
|
||||||
|
<SolidColorBrush x:Key="TextPrimary" Color="#FFFFFF"/>
|
||||||
|
<SolidColorBrush x:Key="TextSecondary" Color="#A0A0A0"/>
|
||||||
|
|
||||||
|
<!-- Win11 Button Style -->
|
||||||
|
<Style TargetType="Button">
|
||||||
|
<Setter Property="Background" Value="{StaticResource CardBackground}"/>
|
||||||
|
<Setter Property="Foreground" Value="{StaticResource TextPrimary}"/>
|
||||||
|
<Setter Property="BorderBrush" Value="{StaticResource CardBorder}"/>
|
||||||
|
<Setter Property="BorderThickness" Value="1"/>
|
||||||
|
<Setter Property="FontSize" Value="14"/>
|
||||||
|
<Setter Property="Padding" Value="12,8"/>
|
||||||
|
<Setter Property="Cursor" Value="Hand"/>
|
||||||
|
<Setter Property="Template">
|
||||||
|
<Setter.Value>
|
||||||
|
<ControlTemplate TargetType="Button">
|
||||||
|
<Border x:Name="border" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="4">
|
||||||
|
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" Margin="{TemplateBinding Padding}"/>
|
||||||
|
</Border>
|
||||||
|
<ControlTemplate.Triggers>
|
||||||
|
<Trigger Property="IsMouseOver" Value="True">
|
||||||
|
<Setter TargetName="border" Property="Background" Value="{StaticResource CardHover}"/>
|
||||||
|
</Trigger>
|
||||||
|
<Trigger Property="IsPressed" Value="True">
|
||||||
|
<Setter TargetName="border" Property="Background" Value="#303030"/>
|
||||||
|
<Setter TargetName="border" Property="BorderBrush" Value="#505050"/>
|
||||||
|
</Trigger>
|
||||||
|
</ControlTemplate.Triggers>
|
||||||
|
</ControlTemplate>
|
||||||
|
</Setter.Value>
|
||||||
|
</Setter>
|
||||||
|
</Style>
|
||||||
|
|
||||||
|
<!-- Navigation RadioButton Style -->
|
||||||
|
<!-- We use RadioButtons for tabs to simulate NavigationView properly -->
|
||||||
|
<Style x:Key="NavButtonStyle" TargetType="RadioButton">
|
||||||
|
<Setter Property="Background" Value="Transparent"/>
|
||||||
|
<Setter Property="Foreground" Value="#D0D0D0"/>
|
||||||
|
<Setter Property="FontSize" Value="14"/>
|
||||||
|
<Setter Property="Margin" Value="5,2"/>
|
||||||
|
<Setter Property="Padding" Value="10,8"/>
|
||||||
|
<Setter Property="Cursor" Value="Hand"/>
|
||||||
|
<Setter Property="Template">
|
||||||
|
<Setter.Value>
|
||||||
|
<ControlTemplate TargetType="RadioButton">
|
||||||
|
<Border x:Name="border" Background="{TemplateBinding Background}" CornerRadius="4">
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="4"/>
|
||||||
|
<ColumnDefinition Width="*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
<!-- Active Indicator -->
|
||||||
|
<Rectangle x:Name="indicator" Grid.Column="0" Fill="{StaticResource AccentColor}" Height="16" RadiusX="2" RadiusY="2" Visibility="Collapsed" Margin="0,0,0,0"/>
|
||||||
|
|
||||||
|
<ContentPresenter Grid.Column="1" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="10,0,0,0"/>
|
||||||
|
</Grid>
|
||||||
|
</Border>
|
||||||
|
<ControlTemplate.Triggers>
|
||||||
|
<Trigger Property="IsMouseOver" Value="True">
|
||||||
|
<Setter TargetName="border" Property="Background" Value="#2D2D2D"/>
|
||||||
|
<Setter Property="Foreground" Value="White"/>
|
||||||
|
</Trigger>
|
||||||
|
<Trigger Property="IsChecked" Value="True">
|
||||||
|
<Setter TargetName="border" Property="Background" Value="#303030"/>
|
||||||
|
<Setter Property="Foreground" Value="White"/>
|
||||||
|
<Setter TargetName="indicator" Property="Visibility" Value="Visible"/>
|
||||||
|
</Trigger>
|
||||||
|
</ControlTemplate.Triggers>
|
||||||
|
</ControlTemplate>
|
||||||
|
</Setter.Value>
|
||||||
|
</Setter>
|
||||||
|
</Style>
|
||||||
|
|
||||||
|
<!-- Info Card Style -->
|
||||||
|
<Style x:Key="InfoCard" TargetType="Border">
|
||||||
|
<Setter Property="Background" Value="{StaticResource CardBackground}"/>
|
||||||
|
<Setter Property="BorderBrush" Value="{StaticResource CardBorder}"/>
|
||||||
|
<Setter Property="BorderThickness" Value="1"/>
|
||||||
|
<Setter Property="CornerRadius" Value="8"/>
|
||||||
|
<Setter Property="Padding" Value="20"/>
|
||||||
|
<Setter Property="Margin" Value="0,0,0,15"/>
|
||||||
|
</Style>
|
||||||
|
|
||||||
|
<!-- Action Card Style -->
|
||||||
|
<Style x:Key="ActionCard" TargetType="Button">
|
||||||
|
<Setter Property="Background" Value="{StaticResource CardBackground}"/>
|
||||||
|
<Setter Property="Height" Value="Auto"/>
|
||||||
|
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
|
||||||
|
<Setter Property="Template">
|
||||||
|
<Setter.Value>
|
||||||
|
<ControlTemplate TargetType="Button">
|
||||||
|
<Border x:Name="border" Background="{TemplateBinding Background}" BorderBrush="{StaticResource CardBorder}" BorderThickness="1" CornerRadius="8" Padding="20">
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="*"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<ContentPresenter Grid.Column="0" HorizontalAlignment="Left"/>
|
||||||
|
<TextBlock Grid.Column="1" Text="" FontFamily="Segoe Fluent Icons, Segoe MDL2 Assets" FontSize="16" Foreground="{StaticResource AccentColor}" VerticalAlignment="Center"/>
|
||||||
|
</Grid>
|
||||||
|
</Border>
|
||||||
|
<ControlTemplate.Triggers>
|
||||||
|
<Trigger Property="IsMouseOver" Value="True">
|
||||||
|
<Setter TargetName="border" Property="Background" Value="{StaticResource CardHover}"/>
|
||||||
|
</Trigger>
|
||||||
|
</ControlTemplate.Triggers>
|
||||||
|
</ControlTemplate>
|
||||||
|
</Setter.Value>
|
||||||
|
</Setter>
|
||||||
|
</Style>
|
||||||
|
|
||||||
|
</Window.Resources>
|
||||||
|
|
||||||
|
<Grid Background="{StaticResource NavBackground}">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="250"/>
|
||||||
|
<ColumnDefinition Width="*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
<!-- Sidebar -->
|
||||||
|
<StackPanel Grid.Column="0" Margin="10,20,10,20">
|
||||||
|
<!-- App Title -->
|
||||||
|
<StackPanel Orientation="Horizontal" Margin="15,0,0,30">
|
||||||
|
<Border Width="24" Height="24" CornerRadius="12" Background="{StaticResource AccentColor}" Margin="0,0,10,0">
|
||||||
|
<TextBlock Text="M" HorizontalAlignment="Center" VerticalAlignment="Center" FontWeight="Bold" Foreground="Black"/>
|
||||||
|
</Border>
|
||||||
|
<TextBlock Text="MAS" FontSize="18" FontWeight="SemiBold" VerticalAlignment="Center"/>
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<!-- Nav Items -->
|
||||||
|
<RadioButton x:Name="navHome" Content="System Overview" Style="{StaticResource NavButtonStyle}" IsChecked="True"/>
|
||||||
|
<RadioButton x:Name="navActivators" Content="Activators" Style="{StaticResource NavButtonStyle}"/>
|
||||||
|
<RadioButton x:Name="navExtras" Content="Troubleshoot & Extras" Style="{StaticResource NavButtonStyle}"/>
|
||||||
|
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<!-- Content Area -->
|
||||||
|
<Border Grid.Column="1" Background="{StaticResource AppBackground}" CornerRadius="10,0,0,0" Padding="40,30">
|
||||||
|
<Grid>
|
||||||
|
<!-- Home View -->
|
||||||
|
<StackPanel x:Name="viewHome" Visibility="Visible">
|
||||||
|
<TextBlock Text="System Overview" FontSize="26" FontWeight="SemiBold" Margin="0,0,0,20"/>
|
||||||
|
|
||||||
|
<Border Style="{StaticResource InfoCard}">
|
||||||
|
<StackPanel>
|
||||||
|
<TextBlock Text="Windows Information" FontSize="14" FontWeight="SemiBold" Foreground="{StaticResource AccentColor}" Margin="0,0,0,10"/>
|
||||||
|
<Grid Margin="0,5">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<TextBlock Grid.Column="0" Text="" FontFamily="Segoe Fluent Icons, Segoe MDL2 Assets" FontSize="24" VerticalAlignment="Center" Margin="0,0,15,0" Foreground="{StaticResource TextSecondary}"/>
|
||||||
|
<StackPanel Grid.Column="1">
|
||||||
|
<TextBlock Text="$($sysInfo.Edition)" FontSize="18" FontWeight="SemiBold"/>
|
||||||
|
<TextBlock Text="$($sysInfo.Version)" FontSize="14" Foreground="{StaticResource TextSecondary}"/>
|
||||||
|
</StackPanel>
|
||||||
|
</Grid>
|
||||||
|
</StackPanel>
|
||||||
|
</Border>
|
||||||
|
|
||||||
|
<Border Style="{StaticResource InfoCard}">
|
||||||
|
<StackPanel>
|
||||||
|
<TextBlock Text="Activation Status" FontSize="14" FontWeight="SemiBold" Foreground="{StaticResource AccentColor}" Margin="0,0,0,10"/>
|
||||||
|
<Grid Margin="0,5">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<TextBlock Grid.Column="0" Text="" FontFamily="Segoe Fluent Icons, Segoe MDL2 Assets" FontSize="24" VerticalAlignment="Center" Margin="0,0,15,0" Foreground="{StaticResource TextSecondary}"/>
|
||||||
|
<StackPanel Grid.Column="1">
|
||||||
|
<TextBlock Text="$($sysInfo.Status)" FontSize="18" FontWeight="SemiBold"/>
|
||||||
|
<TextBlock Text="This information is detected automatically." FontSize="14" Foreground="#666"/>
|
||||||
|
</StackPanel>
|
||||||
|
</Grid>
|
||||||
|
</StackPanel>
|
||||||
|
</Border>
|
||||||
|
|
||||||
|
<TextBlock Text="Quick Actions" FontSize="16" FontWeight="SemiBold" Margin="0,20,0,10"/>
|
||||||
|
<Button x:Name="btnHomeHWID" Style="{StaticResource ActionCard}" Margin="0,5">
|
||||||
|
<StackPanel>
|
||||||
|
<TextBlock Text="Activate Windows" FontSize="16" FontWeight="SemiBold"/>
|
||||||
|
<TextBlock Text="Use HWID method (Recommended)" FontSize="13" Foreground="{StaticResource TextSecondary}"/>
|
||||||
|
</StackPanel>
|
||||||
|
</Button>
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<!-- Activators View -->
|
||||||
|
<StackPanel x:Name="viewActivators" Visibility="Collapsed">
|
||||||
|
<TextBlock Text="Activation Methods" FontSize="26" FontWeight="SemiBold" Margin="0,0,0,20"/>
|
||||||
|
<ScrollViewer VerticalScrollBarVisibility="Hidden">
|
||||||
|
<StackPanel>
|
||||||
|
<!-- HWID -->
|
||||||
|
<TextBlock Text="Windows 10 / 11" FontSize="14" Foreground="{StaticResource TextSecondary}" Margin="0,10,0,5"/>
|
||||||
|
<Button x:Name="btnHWID" Style="{StaticResource ActionCard}" Margin="0,0,0,15">
|
||||||
|
<StackPanel>
|
||||||
|
<TextBlock Text="HWID Activation" FontSize="16" FontWeight="SemiBold"/>
|
||||||
|
<TextBlock Text="Permanent digital license. Does not require renewal." FontSize="13" Foreground="{StaticResource TextSecondary}"/>
|
||||||
|
</StackPanel>
|
||||||
|
</Button>
|
||||||
|
|
||||||
|
<!-- Ohook -->
|
||||||
|
<TextBlock Text="Office" FontSize="14" Foreground="{StaticResource TextSecondary}" Margin="0,10,0,5"/>
|
||||||
|
<Button x:Name="btnOhook" Style="{StaticResource ActionCard}" Margin="0,0,0,15">
|
||||||
|
<StackPanel>
|
||||||
|
<TextBlock Text="Ohook Activation" FontSize="16" FontWeight="SemiBold"/>
|
||||||
|
<TextBlock Text="Permanent Office activation (2013-2024, 365)." FontSize="13" Foreground="{StaticResource TextSecondary}"/>
|
||||||
|
</StackPanel>
|
||||||
|
</Button>
|
||||||
|
|
||||||
|
<!-- KMS -->
|
||||||
|
<TextBlock Text="Volume / Enterprise" FontSize="14" Foreground="{StaticResource TextSecondary}" Margin="0,10,0,5"/>
|
||||||
|
<Button x:Name="btnKMS" Style="{StaticResource ActionCard}" Margin="0,0,0,15">
|
||||||
|
<StackPanel>
|
||||||
|
<TextBlock Text="Online KMS38" FontSize="16" FontWeight="SemiBold"/>
|
||||||
|
<TextBlock Text="Activates until 2038 or 180-days (Server/Enterprise)." FontSize="13" Foreground="{StaticResource TextSecondary}"/>
|
||||||
|
</StackPanel>
|
||||||
|
</Button>
|
||||||
|
</StackPanel>
|
||||||
|
</ScrollViewer>
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<!-- Extras View -->
|
||||||
|
<StackPanel x:Name="viewExtras" Visibility="Collapsed">
|
||||||
|
<TextBlock Text="Extras" FontSize="26" FontWeight="SemiBold" Margin="0,0,0,20"/>
|
||||||
|
|
||||||
|
<WrapPanel>
|
||||||
|
<Button x:Name="btnChangeWin" Content="Change Windows Edition" Width="200" Margin="0,0,10,10"/>
|
||||||
|
<Button x:Name="btnChangeOffice" Content="Change Office Edition" Width="200" Margin="0,0,10,10"/>
|
||||||
|
<Button x:Name="btnCheckStatus" Content="Check Activation Status" Width="200" Margin="0,0,10,10"/>
|
||||||
|
<Button x:Name="btnTroubleshoot" Content="Troubleshoot" Width="200" Margin="0,0,10,10"/>
|
||||||
|
<Button x:Name="btnOEM" Content="Extract OEM Folder" Width="200" Margin="0,0,10,10"/>
|
||||||
|
</WrapPanel>
|
||||||
|
|
||||||
|
<TextBlock Text="Logs & Info" FontSize="16" FontWeight="SemiBold" Margin="0,20,0,10"/>
|
||||||
|
<Border Background="#252525" Padding="15" CornerRadius="4">
|
||||||
|
<TextBlock Text="This GUI wraps the official MAS scripts. When you click an action, a terminal window will open to perform the operation safely and transparently." TextWrapping="Wrap" Foreground="{StaticResource TextSecondary}"/>
|
||||||
|
</Border>
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
</Border>
|
||||||
|
</Grid>
|
||||||
|
</Window>
|
||||||
|
"@
|
||||||
|
|
||||||
|
# --- Load & Parse ---
|
||||||
|
$reader = (New-Object System.Xml.XmlNodeReader $xaml)
|
||||||
|
try {
|
||||||
|
$window = [Windows.Markup.XamlReader]::Load($reader)
|
||||||
|
} catch {
|
||||||
|
Write-Error "Failed to load XAML: $_"
|
||||||
|
Exit
|
||||||
|
}
|
||||||
|
|
||||||
|
# --- Find Controls ---
|
||||||
|
$navHome = $window.FindName("navHome")
|
||||||
|
$navActivators = $window.FindName("navActivators")
|
||||||
|
$navExtras = $window.FindName("navExtras")
|
||||||
|
|
||||||
|
$viewHome = $window.FindName("viewHome")
|
||||||
|
$viewActivators = $window.FindName("viewActivators")
|
||||||
|
$viewExtras = $window.FindName("viewExtras")
|
||||||
|
|
||||||
|
$btnHomeHWID = $window.FindName("btnHomeHWID")
|
||||||
|
$btnHWID = $window.FindName("btnHWID")
|
||||||
|
$btnOhook = $window.FindName("btnOhook")
|
||||||
|
$btnKMS = $window.FindName("btnKMS")
|
||||||
|
|
||||||
|
$btnChangeWin = $window.FindName("btnChangeWin")
|
||||||
|
$btnChangeOffice = $window.FindName("btnChangeOffice")
|
||||||
|
$btnCheckStatus = $window.FindName("btnCheckStatus")
|
||||||
|
$btnTroubleshoot = $window.FindName("btnTroubleshoot")
|
||||||
|
$btnOEM = $window.FindName("btnOEM")
|
||||||
|
|
||||||
|
# --- Logic: Navigation ---
|
||||||
|
function Switch-View {
|
||||||
|
param($view)
|
||||||
|
$viewHome.Visibility = "Collapsed"
|
||||||
|
$viewActivators.Visibility = "Collapsed"
|
||||||
|
$viewExtras.Visibility = "Collapsed"
|
||||||
|
$view.Visibility = "Visible"
|
||||||
|
}
|
||||||
|
|
||||||
|
$navHome.Add_Checked({ Switch-View $viewHome })
|
||||||
|
$navActivators.Add_Checked({ Switch-View $viewActivators })
|
||||||
|
$navExtras.Add_Checked({ Switch-View $viewExtras })
|
||||||
|
|
||||||
|
# --- Logic: Execution ---
|
||||||
|
function Invoke-MASScript {
|
||||||
|
param([string]$Path)
|
||||||
|
$fullPath = Join-Path $PSScriptRoot $Path
|
||||||
|
if (Test-Path $fullPath) {
|
||||||
|
Start-Process "cmd.exe" -ArgumentList "/c `"$fullPath`""
|
||||||
|
} else {
|
||||||
|
[System.Windows.MessageBox]::Show("Script not found at:`n$fullPath", "Error", [System.Windows.MessageBoxButton]::OK, [System.Windows.MessageBoxImage]::Error)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$btnHomeHWID.Add_Click({ Invoke-MASScript "MAS\Separate-Files-Version\Activators\HWID_Activation.cmd" })
|
||||||
|
$btnHWID.Add_Click({ Invoke-MASScript "MAS\Separate-Files-Version\Activators\HWID_Activation.cmd" })
|
||||||
|
$btnOhook.Add_Click({ Invoke-MASScript "MAS\Separate-Files-Version\Activators\Ohook_Activation_AIO.cmd" })
|
||||||
|
$btnKMS.Add_Click({ Invoke-MASScript "MAS\Separate-Files-Version\Activators\Online_KMS_Activation.cmd" })
|
||||||
|
|
||||||
|
$btnChangeWin.Add_Click({ Invoke-MASScript "MAS\Separate-Files-Version\Change_Windows_Edition.cmd" })
|
||||||
|
$btnChangeOffice.Add_Click({ Invoke-MASScript "MAS\Separate-Files-Version\Change_Office_Edition.cmd" })
|
||||||
|
$btnCheckStatus.Add_Click({ Invoke-MASScript "MAS\Separate-Files-Version\Check_Activation_Status.cmd" })
|
||||||
|
$btnTroubleshoot.Add_Click({ Invoke-MASScript "MAS\Separate-Files-Version\Troubleshoot.cmd" })
|
||||||
|
$btnOEM.Add_Click({ Invoke-MASScript "MAS\Separate-Files-Version\Extract_OEM_Folder.cmd" })
|
||||||
|
|
||||||
|
# --- Run ---
|
||||||
|
$window.ShowDialog() | Out-Null
|
||||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
4
Run_GUI.cmd
Normal file
4
Run_GUI.cmd
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
@echo off
|
||||||
|
cd /d "%~dp0"
|
||||||
|
powershell -NoProfile -ExecutionPolicy Bypass -File "App\MAS_GUI.ps1"
|
||||||
|
exit
|
||||||
Loading…
Add table
Add a link
Reference in a new issue