Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Protezione PC tramite USBKEY.
Forum - C# / VB.NET - Protezione PC tramite USBKEY.

Pagine: [ 1 2 3 4 ] Precedente | Prossimo
Avatar
swet (Normal User)
Pro


Messaggi: 128
Iscritto: 01/01/2009

Segnala al moderatore
Postato alle 15:34
Venerdì, 01/01/2010
Ciao ragazzi, vorrei cimentarmi su un programma che blocchi il pc appena viene rimossa la USBKEY, è fattibile in vb.net? Mi serve una pennetta specifica o vanno bene tutte? Avete qualche link ? Grazie e Buon 2010 a tutti!!

Ultima modifica effettuata da swet il 01/01/2010 alle 15:37
PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 16:32
Venerdì, 01/01/2010
Dipende cosa intendi per bloccare.
Se vuoi un suggerimento dichiari una listbox, inserisci come elementi tutte le periferiche di memorizzazione presenti nel tuo PC con un ciclo for. Poi dichiari un timer che ogni tot secondi genera un'altra listbox, gli fà assumere ai suoi elementi tutte le periferiche di memorizzazione del tuo PC e la confronta con la vecchia. Se non sono uguali fai partire una funzione per bloccare il pc.

PM Quote
Avatar
swet (Normal User)
Pro


Messaggi: 128
Iscritto: 01/01/2009

Segnala al moderatore
Postato alle 16:54
Venerdì, 01/01/2010
Per bloccare intendo semplicemente disattivare la tastiera( Ancora non so come)e far comparire una mia form a tutto schermo in modo da non rendere cliccabile nulla. E' fattibile secondo te?
Testo quotato

Postato originariamente da D@vide:

e la confronta con la vecchia.  



in che modo?

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 17:13
Venerdì, 01/01/2010
Quest'esempio dovrebbe farti capire (non sono sicuro che sia privo di errori, stò usando un editor di testo, niente Intellisense):
Codice sorgente - presumibilmente VB.NET

  1. Dim tof as new integer = 0
  2. For i = 0 To ListBox1.Items.Count - 1
  3. confronto = ListBox1.Items.Item(i)
  4. tof = 0
  5.  
  6. For c = 0 To Listbox2.items.Count - 1
  7. If confronto = listbox2.items.item(c) then
  8. tof = 1
  9. end if
  10. Next
  11.  
  12. if tof = 0 then
  13. msgbox("Cabiamento delle periferiche di memorizzazione")
  14. end if
  15. Next


PM Quote
Avatar
swet (Normal User)
Pro


Messaggi: 128
Iscritto: 01/01/2009

Segnala al moderatore
Postato alle 19:45
Venerdì, 01/01/2010
Dovrei inserirlo in un timer vero? Vorrei evitare un altro timer perché non vorrei occupare troppa memoria.

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 20:12
Venerdì, 01/01/2010
Testo quotato

Postato originariamente da swet:

Dovrei inserirlo in un timer vero? Vorrei evitare un altro timer perché non vorrei occupare troppa memoria.



Questo è il metodo migliore che mi viene in mente. Un'alternativa sarebbe un
Codice sorgente - presumibilmente C# / VB.NET

  1. Do
  2. ...
  3. Loop


ma appesantirebbe il sistema.

PM Quote
Avatar
ilmettiu (Ex-Member)
Pro


Messaggi: 88
Iscritto: 17/09/2009

Segnala al moderatore
Postato alle 20:27
Venerdì, 01/01/2010
Usa una timer che giri ogni 5 secondi, che ti importa? Al peggio passeranno 5 secondi prima del blocco, dalla rimozione della periferica.

PM Quote
Avatar
NetProgrammer (Member)
Pro


Messaggi: 175
Iscritto: 28/06/2008

Segnala al moderatore
Postato alle 22:01
Venerdì, 01/01/2010
Scusate ma perchè usare tutti questi cicli for do..loop ecc.. swet chiede come bloccare il pc alla rimozione di una chiave usb; basta controllare con un if se questa chiavetta intesa come drive è presente o meno e se non lo è blocca il pc. I vantaggi??
1) Niente cicli solo un if,
2) Niente combobox e quant'altro qundi risparmio in termini di spazio su disco e di pesantezza nel caricamento.
3) La possibilità di usare un timer senza appesantire ne il programma ne la memoria.

PM Quote
Avatar
swet (Normal User)
Pro


Messaggi: 128
Iscritto: 01/01/2009

Segnala al moderatore
Postato alle 22:20
Venerdì, 01/01/2010
Ragazzi per il momento funziona contando le unità ogni X secondi e confrontarle con quelle che c' erano all' avvio del programma.
Codice sorgente - presumibilmente VB.NET

  1. If driveiniziali > drivecontrollo Then 'quindi la pennina è stata rimossa
  2.             Stato.Text = "Inserire la pendrive"
  3.         Else
  4.             For Each drive In Directory.GetLogicalDrives
  5.                 Cercaseriale()
  6.                 If Seriale = serialeunità Then
  7.                     Stato.Text = "PENDRIVE RILEVATA   " & drive
  8.                     Exit For 'da verificare
  9.                 End If
  10.             Next
  11.         End If



Come vedete faccio una ricerca della pendrive attraverso il seriale.
Il tutto è eseguito da un timer ogni 1500ms. Vi sembra pesante?

PM Quote
Pagine: [ 1 2 3 4 ] Precedente | Prossimo