Domanda

Ho un programma che utilizza un file di configurazione.

Vorrei legare il file di configurazione nel PC, quindi copiare il file su un altro PC con la stessa configurazione non funzionerà.

So che Windows Activation mecanism sta monitorando l'hardware per rilevare i cambiamenti e che può tollera alcune lievi modifiche all'hardware.

C'è qualche libreria che mi può aiutare a farlo?

La mia altra opzione è quella di utilizzare WMI per ottenere la configurazione hardware e di programmare la mia Meccanismo tolleranza.

Grazie mille,

Nicolas

È stato utile?

Soluzione

Microsoft Software Licensing e servizi di protezione ha funzionalità di legarsi una licenza per l'hardware. Potrebbe essere merita di essere esaminata. Ecco un blog di distacco che potrebbe essere di interesse per voi.

Altri suggerimenti

Se si desidera limitare l'uso dei dati a un PC particolare si dovrà implementare da soli, o di trovare una soluzione di terze parti che può fare questo. Non ci sono generali API di Windows che offrono questa funzionalità.

È necessario definire ciò che attualmente si chiama una "macchina".

Se si sostituisce la CPU, memoria e disco rigido, è sempre lo stesso computer? scheda di rete, scheda video?

Ciò che definisce una macchina?

Ci sono molte, molte biblioteche di licenza là fuori per fare questo per voi, ma quasi tutti sono per la pay (perché, apparentemente, si sarebbe sempre e solo da proteggere software commerciale in questo modo). Scopri cosa RSA, Verisign, e anche Microsoft hanno da offrire. L'API Windows non esporre questo, apparentemente per evitare di hacking.

In alternativa, fai da te. Non è difficile da fare, la parte difficile è la definizione di ciò che si crede una macchina che sia.

Se si decide di tenere traccia 5 cose (HD, scheda di rete, scheda video, scheda madre, memory stick) e lasciate 3 cambi prima di richiedere una nuova licenza, quindi gli utenti possono duplicare il disco rigido, eliminare due di cui sopra, metterli in una nuova macchina, sostituirli con nuovi componenti nella vecchia macchina ed eseguire il programma sui due PC separati.

Quindi non richiede qualche pensiero.

-Adam

Se la macchina dispone di una scheda di rete si può sempre controllare il suo indirizzo MAC. Questo dovrebbe essere unico e il controllo come parte della routine di avvio del programma dovrebbe garantire che funziona solo in una macchina alla volta ... anche se si rimuove la scheda di rete e metterla un'altra macchina sarà poi funzionare solo in quel macchina. Questo consentirà di evitare gli aggiornamenti della scheda di rete, però.

Forse si può solo tenere qualcosa nel Registro di sistema? Come l'ultimo timestamp di modifica per questo file - se non c'è voce nel Registro di sistema o il timestamp non corrispondono poi cadere di nuovo ai difetti - vorrei che il lavoro? (C'è più di un modo per scuoiare un gatto;))

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top