2011-05-02 9 views
10

Tło: Tworzę obrazy systemowe, które będą ładowane na kilka stacji roboczych. Aktywacja systemu Windows nastąpi po załadowaniu obrazów na stację roboczą. Te komputery nie będą połączone z Internetem i będą aktywowane przez telefon.Programowo sprawdź, czy system Windows 7 jest aktywny.

Pytanie: Chciałbym sprawdzić programowo jeśli Windows 7 jest włączony czy nie, tak, że nasze oprogramowanie nie będzie działać, jeśli system Windows 7 nie jest aktywna. Nasze oprogramowanie jest napisane w języku C#.

Odpowiedz

6

Software Licensing API - SLIAPI, należy spojrzeć na SLIsGenuineLocal(). (Zastępuje LegitCheck)

+0

Dzięki Alex. W jaki sposób zostanie to zaimplementowane w aplikacji C#? –

+1

Googling dla '" EntryPoint = "SLIsGenuineLocal" "' dał mi http://theroadtodelphi.wordpress.com/2009/10/12/determine-genuine-windows-installation-in-c/, który działa dla mnie - w takim samym stopniu ponieważ mój egzemplarz jest zgodny z prawem :) –

+0

+1 Doskonałe dzięki! –

0

Nie jestem pewien, czy dotyczy to Win7, ale I found a post, który sprawdza XP dla aktywacji przy użyciu klasy Win32_WindowsProductActivation.

Zbuduję test na moim komputerze (Win7 x 64) i zobaczę, czy wróci aktywowany czy nie, ale przynajmniej daje ci coś do wypróbowania w międzyczasie.

EDIT(szkoda Ciągle przeczytaniu docs) Komentarz na tej stronie klasy wspomina, że ​​ta klasa, na Win 7 i innych wersjach) wydaje się być zastąpiony Software Licensing Classes. Zobaczę, czy mogę uzyskać wynik pracy.

2

Możesz uruchomić "Slmgr.vbs" na komputerze, a następnie przekierować wyjście do sprawdzenia.

System.Diagnostics.Process.Start(@"cscript Slmgr.vbs > D:\\log.txt"); 

Spowoduje to wyświetlenie wszystkich potrzebnych informacji. Nie jest to jednak najczystszy sposób na zrobienie tego.

0

Możesz sprawdzić HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Windows Activation Technologies \ AdminObject \ Store \ TotalValidations i sprawdzić, czy jest to 1. Może to nie być definitywny sposób weryfikacji aktywacji, ale powinieneś przynajmniej sprawdź, czy została zatwierdzona.

Powiązane problemy