mine will run on a background thread so it doesnt lock up (stop responding) like most others do. and it should be able to run on xp (when im done with it) but IT WONT check xp keys
Yeah, that is definitely the better way to do it. That is how I changed O7A to do it...to check the product key in the background so that it does not lock up the user interface. Thanks for the suggestion to do it like that...or I would have probably just left it the way it was until later when I felt like re-coding it...
i got the idea when Daz said it still locked up when it was on a different thread. then i put it into the key cert branding tool im writing. then my standalone PID checker. and as many times as a click the button it doesnt stop responding
It is a good idea BTW, in O7A (versions 1.0.8 and higher) I also make a call to slwga.dll in there as well to check the genuine status of the key in question, passing slwga the activation ID determined by the call to PidGenX (pidgenx.dll)...pretty slick.
yea i noticed nononsence posted something like that i havent messed with that code yet but ill find a way to use it
Yeah, I modified it a bit to fit my needs, but the code he posted works: Code: '================================ 'This code is by Nononsence: '================================ Declare Auto Function SLIsGenuineLocal Lib "slwga.dll" (ByRef slid As Guid, ByRef GenuineState As Integer, ByVal UIopts As Integer) As UInteger Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Try Dim AppID As New Guid("55c92734-d682-4d71-983e-d6ec3f16059f") Dim GenuineState = 0 Dim UIopts = 0 SLIsGenuineLocal(AppID, GenuineState, UIopts) MessageBox.Show(GenuineState) Catch err As Exception MessageBox.Show(err.Message) End Try End Sub ...it passes GenuineState by refrence, so you dont need to put a returned value from the call into a variable or anything. Just use GenuineState after. It is an integer so you will need to look up the codes online, but basically GenuineState = 0 is genuine, all else is non-genuine and probably will not activate Windows...
I tack it on the end of the PidGenX output for the key checker: Code: Key Status: Valid Product ID: XXXXX-OEM-8992662-00173 Extended PID: XXXXX-00178-926-600173-02-1033-7600.0000-3102009 Activation ID: 7cfd4696-69a9-4af7-af36-ff3d12b6b6c8 Edition: Ultimate Sub Type: X15-37374 License Type: OEM:SLP License Channel: OEM Crypto ID: 178 Genuine Status: Genuine
here is my pid checker for windows 7, server 2008 r2, vista, and server 2008 tell me if it works or not it has to be elevated to write the vista and windows 7 pkeyconfig.xrm-ms files EDIT: Removed Link
if you have the vamt tool it uses the win 7 pidgenx.dll the pkeyconfig.xrm-ms files are the different ones. and the way i got around the system pidgenx.dll was i write the windows 7 one the the directory that my exe is in then i remove it when the app closes oh and c# confuses me so anything you send will be converted to vb.net
huh? the VAMT tool pidgenx.dll and pkeyconfig.xrm-ms can be used for both (Vista/Seven)? that could really make it easier a lot, allthough i like to be able to specify a new pidgenx.dll whenever is comes out (SP1, Windows 8)