Gå til innhold

Finne HDD serial uten noen ekstra DLLer


Anbefalte innlegg

Skrevet

Skal finne HDD serialen siden jeg lager en sikkerhetsfunksjon i programmet mitt slik at brukere må ha en nøkkel for å bruke det (som sjekkes opp mot en "database")

 

Slik er det, men jeg kan tydeligvis ikke bruke "String$":

post-89333-1168610704_thumb.jpg

 

btw, tar gjerne imot hjelp om hvordan jeg kan finne andre ting som er unikt for hver datamaskin (UTEN ekstra DLL filer, den ferdige kompilasjonen skal bestå av kun en programfil)

Videoannonse
Annonse
Skrevet (endret)
VolNameBuf = New String(Chr(0), 255)

7705861[/snapback]

Da skjer dette... Og endrer jeg til det den foreslår, fungerer ikke selve funksjonen..

 

"Variable GetSerialNumber is used before it has been assigned a value. A null reference exception could result at runtime"

post-89333-1168620609_thumb.jpg

Endret av Vigilant
Skrevet (endret)

Nei, det har du ikke. Du har byttet om rekkefølgen på den siste.

VolNameBuf = New String(Char(0), 255)

FileSysNameBuf = New String(255, Chr(0))

Ser du?

Bytt om rekkefølgen i konstruktoren i den siste linja.

Fort gjort å gå glipp av :)

Endret av GeirGrusom
Skrevet

Det var en del feil i koden, spesielt deklarasjonen av GetVolumeInformation.

 

Som en generell regel, så betyr "lp" foran et parameter til en unmanaged funksjon, at det er en peker, da skal ByVal byttes ut med ByRef.

Og størrelse på integer datatypene er anderledes i VB.NET:

Integer er 32 bit, Long er 64 bit, ig VB6 er Integer 16 bit, og Long 32 bit.

 

$ bak funksjonene Mid, Right, Left osv, er ikke nødvendig, dette er noe som henger igjen fra QuickBasic, og er ikke egentlig lenger en del av syntaksen ($%&)

 

Len([string]) skal være [string].Length men Len fungerer det også.

 

Nå er det i orden.

Skrevet

Takker så mye :D

Forstod litt av det du sa, men ikke alt, siden jeg fant denne koden på et eller annet forum, og selve koden var tydeligvis for VB6...

 

Men nå fungerer den, så tusen takk :thumbup:

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...