Die Funktion ifWinActivated von Oscar liefert bei mir in hjedem Falle True auch wenn ich per slmgr windows deaktiviert habe.
Zum Verständnis:
Code
M:\>WMIC /NAMESPACE:\\root\CIMV2 PATH SoftwareLicensingProduct WHERE LicenseStatus=1 GET Description, LicenseStatus
Description LicenseStatus
Windows(R) Operating System, RETAIL channel 1
Office 16, RETAIL channel 1
Ändere die Funktion mal so, dann klappt es sicher auch bei dir:
AutoIt: _IfWinActivated.au3
;-- TIME_STAMP 2022-06-16 14:52:23 v 0.1
#include <StringConstants.au3>
ConsoleWrite('Windows is activated: ' & _IfWinActivated() & @CRLF)
Func _IfWinActivated()
Local $sCommand, $iPID, $sData
$sCommand = @ComSpec & ' /c WMIC /NAMESPACE:\\root\CIMV2 PATH SoftwareLicensingProduct WHERE LicenseStatus=1 GET Description, LicenseStatus|findstr "Operating System"'
$iPID = Run($sCommand, @ScriptDir, @SW_HIDE, 0x2)
ProcessWaitClose($iPID)
$sData = StringStripWS(StdoutRead($iPID), $STR_STRIPTRAILING)
;~ ConsoleWrite("@@_Debug_line" & @TAB & @TAB & @ScriptLineNumber & " var: $sData --> " & $sData & @LF)
Return StringRight($sData, 1) == '1'
EndFunc ;==>_IfWinActivated
Alles anzeigen