Newsgroup: it.comp.lang.visual-basic
Titolo: vb6 sp6 come bloccare un programma in assenza di una chiavetta

E' possibile bloccare il funzionamento di un software in vb6-sp6 in assenza 
di una chiavetta nell'apposito porta usb ???
Grazie per aiuto.
cordiali saluti.
giap

 di una chiavetta nell'apposito porta usb ???
Si.
Enrico

Ovviamente , come si pu� fare ?
Grazie
cordiali saluti.
giap 

 Ovviamente , come si pu� fare ?
bloccare = fermare l'esecuzione?
bloccare = proteggere?
non si capisce bene cosa intendi...
-- 
-> GbC|
www.gbcweb.com
www.chiappori.com
 

 di una chiavetta nell'apposito porta usb ???
Tieni presente che se la chiavetta si rompe o cambia nome di unit� poi ti
chiamano perch� niente funziona. Basta avere un'unit� di rete mappata, che
la chiavetta viene vista solo da Gestione Computer e solo per un
administartor.
Ci sono per� chiavette hardware apposite, quelle che prima erano su
parallela, ora sono anche su usb. Di norma ti forniscono una DLL a cui fare
delle chiamate.

Sicuramente non sono stato chiaro, quindi provo a chiarire la mia domanda 
con maggiori dettagli.
Un software vb6-sp6 installato su un PC, memorizza i dati elaborati in 
alcuni archivi che vengono utilizzati dal programma e poi salvati su una 
chiavetta usb, cos� che in qualsiasi momento, senza la disponibilit� della 
chiavetta, nessuno possa leggere il contenuto degli archivi e tanto meno 
utilizzare il programma.
Come posso impedire il funzionamento del programma, quando tale chiavetta 
non � presente nella porta USB  ? � sufficiente l'assenza della chiavetta o 
bisogna predisporre il programma a tale evenienza ?
E tenuto conto di quanto mi � stato gi� detto
come risolvere il problema dell'eventuale possibile modifica del nome della 
chiavetta (d, e, f, ecc.) che invece ne impedirebbe l'utilizzo ?
Ovviamente, mi si dovrebbero suggerire le righe di codice da inserire nel 
software,
io non sono abbastanza bravo da saperlo fare.
Ringrazio tutti per l'aiuto.
Cordiali saluti
giap 

 Ringrazio tutti per l'aiuto.
Ovviamente....
Scrivere un file o vedere se un path � raggiungile sono un po' l'ABC.
Comunque funzione dir$ per vedere se un file esiste, e/o gestione errori

 wrote:
zac
Non è fine ma funziona:
metti un file pippo.txt nella chiavetta.....
testa se c'è ( e testi se la chiavetta funzione e/o è inserita e/0
funziona)
Poi ci scrivi dentro e salvi (e testi se l'utente ha la possibilità di
scrivere sulla chiavetta....sai menate sui privilegi e quant'altro te
lo potrebbero impedire)
se tutto è ok...gli abiliti il tasto "Salva" "Nuovo" "biip" quello che
vuoi....altrimenti nisba!


wrote:

...ho soltato tutta la parte di identificazione device....quello che
ho detto sopra si fa solo con le funzioni del file system

 ho detto sopra si fa solo con le funzioni del file system
basta uno di quei componenti... come si chiama... DriveListBox...
leggi gli elementi unio alla volta (� come una listbox) e controlli se 
esiste (ad esempio) \pippo\pluto\paperino.txt per capire se la chiavetta 
� quella vera o una che non c'entra GNente...


 � quella vera o una che non c'entra GNente...
Aggiungo che se uno si deve affidare proprio ad un pendrive � opportuno
entrare in ogni PC come amministratore e assegnarli una lettera strana tipo
P: per evitare che eventuali percorsi di rete mappati possano renderla
invisibile.
Non so se con vista e seven rimane il "problema".


Forse vederseli tutti � pi� sicuro...


 Forse vederseli tutti � pi� sicuro...
Si va bene scorrerli tutti, ma � possibile che la penna non sia vista manco
da windows, se ci sono unit� di rete mappate.
Cos� poi il cliente che ti chiama perch� non funziona niente.
Basta tenere conto di questa possibilit�, che su realt� con diversi pc ho
incontrato diverse volte, pur non avendo io programmi che sfruttano
pendrive, se non se l'utente ci vuol salvar sopra qualcosa.


Piuttosto che un drivelistbox (che va piazzato in un form), io preferirei 
usare qualche API, es. GetDriveType, come in questi esempi:
http://support.microsoft.com/kb/161300
http://vbnet.mvps.org/index.html?code/disk/drivetype.htm
Si cicla da A: a Z: e si individuano i drive di tipo "removable".
Bye
Raf 

 GbC wrote:
zac
in .Net, incapsulato tutto nel framework, non devi smanettare di API
ha tutto esposto negli opportuni namespace(s):
For Each drv As IO.DriveInfo In IO.DriveInfo.GetDrives
            Debug.WriteLine(drv.Name & " " & drv.DriveType.ToString)
Next

Ringrazio tutti per l'aiuto.
cordiali saluti
giap