#NoEnv
SendMode, Input
SetWorkingDir, %A_ScriptDir%
#SingleInstance Ignore
#NoTrayIcon
Menu, Tray, Icon, imageres.dll, -82
Msgbox %0%
if (%0% == "/S") {
InProcess = 1
Gui, NonGenuine: Color, 000000
Gui, NonGenuine: Font, CFFFFFF, Segoe UI
Gui, NonGenuine: Margin, 32, 32
Gui, NonGenuine: Add, Picture, Icon-103 w48 h48, user32.dll
Gui, NonGenuine: Font, S20
Gui, NonGenuine: Add, Text, x+8 ym-8 w450, This copy of Windows is not genuine*
Gui, NonGenuine: Font, S16
Gui, NonGenuine: Add, Text, y+0 wp, You should ask for a refund if you have paid for this copy.
Gui, NonGenuine: Font, S9
Gui, NonGenuine: Add, Text, y+32 wp, *You can safely ignore this message if you have intentionally put this tool in your copy. This message will automatically disappear after the activation process is done.
Gui, NonGenuine: +AlwaysOnTop
Gui, NonGenuine: -SysMenu
Gui, NonGenuine: -MinimizeBox
Gui, NonGenuine: Show, , This copy of Windows is not genuine
SoundPlay, *16
Sleep, 10000
if(A_Is64bitOS) {
system32 = %A_WinDir%\sysnative
vera = x64
} else {
system32 = %A_WinDir%\system32
vera = x86
}
gosub, RefreshGUILicenseInformation
RunWait, %system32%\cmd.exe /c "cscript.exe /nologo %A_WinDir%\system32\slmgr.vbs -ipk %NewKey%", , Hide
RegWrite, REG_SZ, HKLM\SYSTEM\Tokens, Channel, Retail
RegWrite, REG_DWORD, HKLM\SYSTEM\Tokens\Kernel, Kernel-ProductInfo, %NewSku%
RegWrite, REG_DWORD, HKLM\SYSTEM\Tokens\Kernel, Security-SPP-GenuineLocalStatus, 1
RunWait, %A_ScriptDir%\%GatherOsStateExe%, %A_ScriptDir%, Hide
RegDelete, HKLM\SYSTEM\Tokens
RunWait, %system32%\cmd.exe /c "clipup -v -o -altto `"%A_ScriptDir%`"", , Hide
RunWait, %system32%\cmd.exe /c "cscript.exe /nologo %A_WinDir%\system32\slmgr.vbs -ato", , Hide
InProcess = 0
ExitApp
NonGenuineGuiClose:
return
}
if(!InStr(A_OSVersion, "10.0.")) {
MsgBox, 16, Error, This application is compatible with Windows 10 only
ExitApp
}
Pversion := "0.10.08"
, AppName := "HWID GEN 0.10.08 MOD (c) Dumpster Inc. & others"
, hAutoWnd
Gui, Startup: Color, 0067B3
Gui, Startup: Font, CFFFFFF, Segoe UI
Gui, Startup: Margin, 24, 24
Gui, Startup: Add, Picture, Icon-104 w32 h32, user32.dll
Gui, Startup: Font, S16
Gui, Startup: Add, Text, x+8 ym-8 w392, The tool is starting up...
Gui, Startup: Font, S9
Gui, Startup: Add, Text, y+8 wp, The tool is performing necessary startup checks. This operation is needed to ensure that the activation process will go smoothly.
Gui, Startup: Add, Progress, x80 y+24 h16 w320 +0x8 -smooth vStartupProgress
SetTimer, MoveStartupProgress, 33
Gui, Startup: -MinimizeBox
Gui, Startup: Show, , %AppName%
gosub, RefreshLicenseInformation
gosub, WUCheck
gosub, SystemChecks
Goto, ChecksDone
StartupGuiClose:
ExitApp
ChecksDone:
Gui Font, s9, Segoe UI
Gui, Add, GroupBox,			x21     y7      w640    h380,   PROGRESS
Gui, Add, Text,             x32     y28     w40     h12,	INFO:
Gui, Add, Text,             x465    y28     w80     h12,	Work Mode:
Gui, Add, DropDownList,     x535    y25     w114            vMode,Key-Install|Full||
Gui, Add, Button,           x32     y350    w114    h24     Default gPatch, PATCH
Gui, Add, Edit,             x36     y58     w613    h280    vLogF Readonly HwndhOut
Gui, Add, Progress,         x182    y350    w330    h24     -smooth vStatusProgress, 0
Gui, Add, Link,             x72     y28     w100    h12     gLaunchAIOWares, <a>AiOwares.com</a>
Gui, Add, Text,             x155    y28     w40     h12,	||
Gui, Add, Link,             x175    y28     w110    h12     gLaunchNsane, <a>NsaneForums.com</a>
starttime := a_now
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " SYSTEM INFO:" . "`r`n", hOut)
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" . "`r`n", hOut)
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " Product:" . " " . ProductFamily . " [" . buildlabex . "." . buildlabex2 . "] " . "`r`n", hOut)
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " Description:" . " " . channel . " " . "`r`n", hOut)
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " Architecture:" . " " . vera . " " . "`r`n", hOut)
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " LicenseID:" . " " . ProductLicenseID . " " . "`r`n", hOut)
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " PartialKey:" . " " . ProductPartialKey . " " . "`r`n", hOut)
IfNotInString, NewKey, %ProductPartialKey%
{
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " DefaultKey:" . " " . NewKey . " " . "`r`n", hOut)
}
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " Status:" . " " . ProductStatusMsg . " " . "`r`n", hOut)
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " WU Status:" . " " . wu . " "  . "`r`n", hOut)
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" . "`r`n", hOut)
exitpatch :=
if (ProductStatusCode == 1) {
if not (channel == "VOLUME_KMSCLIENT") {
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " Detected: permanently licensed" . " " . channel . " " . "`r`n", hOut)
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " NO PATCHING NEEDED!" . "`r`n", hOut)
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" . "`r`n", hOut)
exitpatch = 1
}
}
Gui Add, Button,            x550    y350    w99     h24     gGuiClose, EXIT
Gui Tab
Gui Show,                                       w679    h400,   %AppName% [ %ProductFamily% %buildlabex%.%buildlabex2% | %vera% | %online% ]
Gui, -MinimizeBox
SetTimer, MoveStartupProgress, Off
Gui, Startup: Destroy
return
MoveStartupProgress:
GuiControl, Startup:, StartupProgress, 0
return
Patch:
InProcess = 1
Gui, +Disabled
starttime := a_now
GuiControlGet, Mode
if (Mode == "Key-Install"){
GoSub, KeyInstallOnly
return
}
Random, rand
dir = %A_Temp%\GatherOsState%rand%
FileCreateDir, %A_ScriptDir%
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " PATCH PROCESS PREREQUISITES" . "`r`n", hOut)
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" . "`r`n", hOut)
if (exitpatch == 1) {
MsgBox, 16, Error, Patching is not needed!
ExitApp
}
InProcess = 1
Gui, +Disabled
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " Preparing..." . "`r`n", hOut)
GuiControl, , StatusProgress, 0
gosub, RefreshGUILicenseInformation
if(UnsupportedSku) {
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " Not supported System detected!" . "`r`n", hOut)
GuiControl, Disable , StartActBtn
GuiControl, +Default, ExitBtn
MsgBox, 16, Error, Unsupported edition
Gui, -Disabled
InProcess = 0
return
}
FileAppend, System check:`n, HWID.log
FileAppend, Description: %ProductDescription%`n, HWID.log
FileAppend, BuildLabEx: %buildlabex%.%buildlabex2%`n, HWID.log
FileAppend, Architecture: %vera%`n, HWID.log
FileAppend, PartialKey: %ProductPartialKey%`n, HWID.log
FileAppend, Edition: %ProductFamily%`n, HWID.log
FileAppend, Status %ProductStatusMsg%`n`n, HWID.log
FileAppend, Starting activation at %A_DD% %A_MMM% %A_YYYY% %A_Hour%:%A_Min%:%A_Sec%...`n`n, HWID.log
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " Installing key:" . " " . NewKey . " " . "`r`n", hOut)
FileAppend, Installing key %NewKey%...`n, HWID.log
try RunWait, %system32%\cmd.exe /c "cscript.exe /nologo %A_WinDir%\system32\slmgr.vbs -ipk %NewKey% >>HWID.log", , Hide
catch {
gosub, ProcessFail
return
}
GuiControl, , StatusProgress, 15
gosub, RefreshGUILicenseInformation
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " Adding registry entries..." . "`r`n", hOut)
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " SKUID:" . " " . NewSku . " " . "`r`n", hOut)
FileAppend, Adding registry entries...`n, HWID.log
RegWrite, REG_SZ, HKLM\SYSTEM\Tokens, Channel, Retail
RegWrite, REG_DWORD, HKLM\SYSTEM\Tokens\Kernel, Kernel-ProductInfo, %NewSku%
RegWrite, REG_DWORD, HKLM\SYSTEM\Tokens\Kernel, Security-SPP-GenuineLocalStatus, 1
RegWrite, REG_SZ, HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers, %A_ScriptDir%\%GatherOsStateExe%, ~ WIN7RTM
GuiControl, , StatusProgress, 20
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " Running GatherOsState..." . "`r`n", hOut)
FileAppend, Running GatherOsState...`n, HWID.log
try RunWait, %A_ScriptDir%\%GatherOsStateExe%, %A_ScriptDir%, Hide
catch {
gosub, ProcessFail
return
}
GuiControl, , StatusProgress, 60
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " Removing registry entries..." . "`r`n", hOut)
FileAppend, Removing registry entries...`n`n, HWID.log
RegDelete, HKLM\SYSTEM\Tokens
RegDelete, HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers, %A_ScriptDir%\%GatherOsStateExe%
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " Applying GenuineTicket.xml..." . "`r`n", hOut)
FileAppend, Applying GenuineTicket.xml...`n, HWID.log
try RunWait, %system32%\cmd.exe /c "clipup -v -o -altto `"%A_ScriptDir%`" >>HWID.log", , Hide
catch {
gosub, ProcessFail
return
}
GuiControl, , StatusProgress, 65
FileAppend, `n, HWID.log
back :=
gosub, WUCheck
if (wuraw == 4) {
FileAppend, WU is disabled...`n, HWID.log
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " WU is disabled..." . "`r`n", hOut)
FileAppend, Setting WU to auto...`n, HWID.log
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " Setting WU to auto..." . "`r`n", hOut)
try RegWrite, REG_DWORD, HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wuauserv, Start, 2 >>HWID.log", , Hide
catch {
gosub, ProcessFail
return
}
FileAppend, Starting WU...`n, HWID.log
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " Starting WU..." . "`r`n", hOut)
try RunWait, net start wuauserv >>HWID.log", , Hide
catch {
gosub, ProcessFail
return
}
back = 1
}
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " Activating..." . "`r`n", hOut)
FileAppend, Activating...`n, HWID.log
RunWait, %system32%\cmd.exe /c "cscript.exe /nologo %A_WinDir%\system32\slmgr.vbs -ato >>HWID.log", , Hide
gosub, RefreshGUILicenseInformation
if (back == 1) {
FileAppend, Stopping WU...`n, HWID.log
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " Stopping WU..." . "`r`n", hOut)
try RunWait, net stop wuauserv >>HWID.log", , Hide
catch {
gosub, ProcessFail
return
}
FileAppend, Setting WU back to disabled...`n, HWID.log
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " Setting WU back to disabled..." . "`r`n", hOut)
try RegWrite, REG_DWORD, HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wuauserv, Start, 4 >>HWID.log", , Hide
catch {
gosub, ProcessFail
return
}
back :=
}
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " Done" . "`r`n", hOut)
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" . "`r`n", hOut)
GuiControl, , StatusProgress, 100
if(ProductStatusCode = 1) {
FileAppend, Successfully activated %ProductFamily%!`n, HWID.log
MsgBox, 64, Success, Successfully activated %ProductFamily%!
} else {
MsgBox, 16, Error, Failed to activate %ProductFamily%.`n`nPlease check HWID.log file for details.
FileAppend, Failed to activate %ProductFamily%. License status: %ProductStatusMsg%`n, HWID.log
}
FileAppend, `n`n, HWID.log
Gui, -Disabled
InProcess = 0
return
KeyInstallOnly:
InProcess = 1
Gui, +Disabled
starttime := a_now
gosub, RefreshGUILicenseInformation
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " INSTALLING RETAIL/OEM KEY:" . "`r`n", hOut)
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" . "`r`n", hOut)
IfNotInString, NewKey, %ProductPartialKey%
{
FileAppend, System check:`n, HWID.log
FileAppend, Description: %ProductDescription%`n, HWID.log
FileAppend, BuildLabEx: %buildlabex%.%buildlabex2%`n, HWID.log
FileAppend, Architecture: %vera%`n, HWID.log
FileAppend, PartialKey: %ProductPartialKey%`n, HWID.log
FileAppend, Edition: %ProductFamily%`n, HWID.log
FileAppend, Status %ProductStatusMsg%`n`n, HWID.log
FileAppend, Starting activation at %A_DD% %A_MMM% %A_YYYY% %A_Hour%:%A_Min%:%A_Sec%...`n`n, HWID.log
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " Installing key:" . " " . NewKey . " " . "`r`n", hOut)
FileAppend, Installing key %NewKey%...`n, HWID.log
try RunWait, %system32%\cmd.exe /c "cscript.exe /nologo %A_WinDir%\system32\slmgr.vbs -ipk %NewKey% >>HWID.log", , Hide
catch {
gosub, ProcessFail
return
}
GuiControl, , StatusProgress, 15
gosub, RefreshGUILicenseInformation
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " Done" . "`r`n", hOut)
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" . "`r`n", hOut)
GuiControl, , StatusProgress, 100
FileAppend, `n`n, HWID.log
} else {
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " RETAIL/OEM KEY ALREADY INSTALLED!" . "`r`n", hOut)
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . " ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" . "`r`n", hOut)
}
Gui, -Disabled
InProcess = 0
return
RefreshLicenseInformation:
WMI := ComObjGet("winmgmts:")
Query := WMI.ExecQuery("Select * FROM SoftwareLicensingProduct WHERE PartialProductKey IS NOT NULL")._NewEnum()
ProductLicenseID := ""
TempProductFamily := ""
TempProductName := ""
while(Query[Info]) {
TempProductFamily := Info.LicenseFamily
if(!TempProductFamily)
continue
TempProductName := Info.Name
if(!RegExMatch(TempProductName, "Windows.*"))
continue
ProductDescription := Info.Description
ProductStatusCode := Info.LicenseStatus
ProductPartialKey := Info.PartialProductKey
ProductLicenseID := Info.ID
ProductFamily := TempProductFamily
ProductName := TempProductName
}
TempProductFamily := ""
TempProductName := ""
if(!ProductLicenseID) {
MsgBox, 16, %AppName%, Failed to determine licensing status. Please check if your system has any product key installed.
ExitApp
}
gosub, ConvertStatus
gosub, DetermineKeyAndSkuID
WMI := ""
Query := ""
Info := ""
return
ConvertStatus:
if(ProductStatusCode = 0) {
ProductStatusMsg = Unlicensed
} else if(ProductStatusCode = 1) {
ProductStatusMsg = Licensed
} else if(ProductStatusCode = 2) {
ProductStatusMsg = Initial grace period
} else if(ProductStatusCode = 3) {
ProductStatusMsg = Additional grace period
} else if(ProductStatusCode = 4) {
ProductStatusMsg = Non-genuine grace period
} else if(ProductStatusCode = 5) {
ProductStatusMsg = Notification
} else {
ProductStatusMsg = Unknown status: %ProductStatusCode%
}
return
DetermineKeyAndSkuID:
GatherOsStateExe=gatherosstate.exe
if(ProductFamily = "Cloud") {
NewKey=V3WVW-N2PV2-CGWC3-34QGF-VMJ2C
NewSku=178
} else if(ProductFamily = "CloudN") {
NewKey=NH9J3-68WK7-6FB93-4K3DF-DJ4F6
NewSku=179
} else if(ProductFamily = "Core") {
NewKey=YTMG3-N6DKC-DKB77-7M9GH-8HVX7
NewSku=101
} else if(ProductFamily = "CoreCountrySpecific") {
NewKey=N2434-X9D7W-8PF6X-8DV9T-8TYMD
NewSku=99
} else if(ProductFamily = "CoreN") {
NewKey=4CPRK-NM3K3-X6XXQ-RXX86-WXCHW
NewSku=98
} else if(ProductFamily = "CoreSingleLanguage") {
NewKey=BT79Q-G7N6G-PGBYW-4YWX6-6F4BT
NewSku=100
} else if(ProductFamily = "Education") {
NewKey=YNMGQ-8RYV3-4PGQ3-C8XTP-7CFBY
NewSku=121
} else if(ProductFamily = "EducationN") {
NewKey=84NGF-MHBT6-FXBX8-QWJK7-DRR8H
NewSku=122
} else if(ProductFamily = "Enterprise") {
NewKey=XGVPP-NMH47-7TTHJ-W3FW7-8HV2C
NewSku=4
} else if(ProductFamily = "EnterpriseN") {
NewKey=3V6Q6-NQXCX-V8YXR-9QCYV-QPFCT
NewSku=27
} else if(ProductFamily = "EnterpriseS") {
if(A_OSVersion = "10.0.14393") {
NewKey=NK96Y-D9CD8-W44CQ-R8YTK-DYJWX
NewSku=125
} else if(A_OSVersion = "10.0.10240") {
NewKey=FWN7H-PF93Q-4GGP8-M8RF3-MDWWW
NewSku=125
GatherOsStateExe=gatherosstateLTSB2015.exe
} else {
UnsupportedSku=1
}
} else if(ProductFamily = "EnterpriseSN") {
if(A_OSVersion = "10.0.14393") {
NewKey=2DBW3-N2PJG-MVHW3-G7TDK-9HKR4
NewSku=126
} else if(A_OSVersion = "10.0.10240") {
NewKey=8V8WN-3GXBH-2TCMG-XHRX3-9766K
NewSku=126
GatherOsStateExe=gatherosstateLTSB2015.exe
} else {
UnsupportedSku=1
}
} else if(ProductFamily = "Professional") {
NewKey=VK7JG-NPHTM-C97JM-9MPGT-3V66T
NewSku=48
} else if(ProductFamily = "ProfessionalEducation") {
NewKey=8PTT6-RNW4C-6V7J2-C2D3X-MHBPB
NewSku=164
} else if(ProductFamily = "ProfessionalEducationN") {
NewKey=GJTYN-HDMQY-FRR76-HVGC7-QPF8P
NewSku=165
} else if(ProductFamily = "ProfessionalN") {
NewKey=2B87N-8KFHP-DKV6R-Y2C8J-PKCKT
NewSku=49
} else if(ProductFamily = "ProfessionalWorkstation") {
NewKey=DXG7C-N36C4-C4HTG-X4T3X-2YV77
NewSku=161
} else if(ProductFamily = "ProfessionalWorkstationN") {
NewKey=WYPNQ-8C467-V2W6J-TX4WX-WT2RQ
NewSku=162
} else {
UnsupportedSku=1
}
return
RefreshGUILicenseInformation:
gosub, RefreshLicenseInformation
GuiControl, , EditionInfo, %ProductFamily%
GuiControl, , StatusCodeInfo, %ProductStatusMsg%
GuiControl, , PartialKeyInfo, %ProductPartialKey%
return
ProcessFail:
MsgBox, 16, Error, Process failed.
FormatTime, TimeString,,HH:mm:ss
output_Text(timestring . "Failed" . "`r`n", hOut)
Gui, -Disabled
return
WUCheck:
RegRead, wuraw, HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wuauserv, Start
if (wuraw == 1) {
wu=AUTO DELAYED
}
if (wuraw == 2) {
wu=AUTO
}
if (wuraw == 3) {
wu=MANUAL
}
if (wuraw == 4) {
wu=DISABLED (NOTE: will be changed for the process duration)
}
return
LaunchAIOWares:
Run http://aiowares.com/showthread.php?tid=246
return
LaunchNsane:
Run http://www.nsaneforums.com/topic/312871-windows-10-digital-license-hwid-generation-without-kms-or-predecessor-installupgrade
return
SystemChecks:
stringsplit, InfoArray, ProductDescription, %A_Space%
channel := InfoArray4
InProcess = 0
if(A_Is64bitOS) {
system32 = %A_WinDir%\sysnative
vera = x64
} else {
system32 = %A_WinDir%\system32
vera = x86
}
Try {
Gui Font, s7, Arial Bold
} Catch {
Gui Font, s7, Arial Bold
}
strComputer := "."
objWMIService := ComObjGet("winmgmts:{impersonationLevel=impersonate}!\\" . strComputer . "\root\cimv2")
colPings := objWMIService.ExecQuery("Select * From Win32_PingStatus where Address = 'www.google.com'")._NewEnum
While colPings[objStatus]
{
If (objStatus.StatusCode="" or objStatus.StatusCode<>0)
online = offline
Else
online = online
}
WMI := ""
colPings := ""
strComputer := ""
RegRead, rawbuildlabex, HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion, BuildLabEx
stringsplit, InfoArray, rawbuildlabex, .
buildlabex := InfoArray1
buildlabex2 := InfoArray2
return
output_Text(Text, hWnd) {
static Start, Stop
SendMessage, 0xB1, &Start, &Stop,, ahk_id %hWnd%
SendMessage, 0xC2,       , &Text,, ahk_id %hWnd%
SendMessage, 0xB0, &Start, &Stop,, ahk_id %hWnd%
}
GuiClose:
if(InProcess) {
return
}
ExitApp
