Individuare il SID del pc e poi chiudere il file excel

di il
34 risposte

Individuare il SID del pc e poi chiudere il file excel

Chi di voi è in grado di scrivermi una classe in Visual Basic che vada a leggere la chiave SID del sistema operativo Microsoft, la confronti con una stringa e chiuda immediatamente il file Excel contenente tale classe qualora la SID calcolata non coincida con la stringa suddetta?

Vorrei passare un file Excel ad un mio amico ma vorrei che potesse usarlo solo lui e nessun altro.

Ciao

34 Risposte

  • Re: Individuare il SID del pc e poi chiudere il file excel

    In ogni caso, devi trovare uno che sia in grado e ne abbia voglia ...
  • Re: Individuare il SID del pc e poi chiudere il file excel

    ultrasound91 ha scritto:


    Ti basta crittografare il file.
    Come si crittografa un file?
  • Re: Individuare il SID del pc e poi chiudere il file excel

    oregon ha scritto:


    In ogni caso, devi trovare uno che sia in grado e ne abbia voglia ...
    Va bene mi fido ma come posso crittografare un file?
  • Re: Individuare il SID del pc e poi chiudere il file excel

    ultrasound91 ha scritto:


    Una volta aperto il file excel vai su file -> proteggi cartella di lavoro -> crittografa con password
    No frena! Io desidero avere un file excel che funzioni solo su un preciso computer!
  • Re: Individuare il SID del pc e poi chiudere il file excel

    ultrasound91 ha scritto:


    Tu hai detto che il problema è:
    fare in modo che solo il tuo amico possa leggere il file
    e hai pensato a un modo.
    Io te ne sto proponendo uno semplice, immediato e gratuito.
    Si e ti ringrazio ma io vorrei che il mio amico non fosse in grado di regalare il programma ad altri. Con il tuo sistema, se ho capito bene, questa cosa non si può fare. L'amico infatti potrebbe passare il file e la password ad un altro suo amico e così via...
  • Re: Individuare il SID del pc e poi chiudere il file excel

    giannino1995 ha scritto:


    Si e ti ringrazio ma io vorrei che il mio amico non fosse in grado di regalare il programma ad altri. Con il tuo sistema, se ho capito bene, questa cosa non si può fare. L'amico infatti potrebbe passare il file e la password ad un altro suo amico e così via...
    Vediamo di fare chiarezza:
    1) Innanzitutto parliamo di un file, non di un programma, e la differenza non è cosa da poco.

    2) In secondo luogo, quand'anche tu riesca a leggere il SID all'avvio del file Excel del pc corrente, poi come fai a sapere che quel SID è quello del pc del tuo amico?
    Lui te lo dovrebbe comunicare PRIMA, diversamente non vedo come tu possa fare questa verifica.
    Oltretutto non è proprio banale, farlo.

    3) Ma questo punto basterebbe che lui ti fornisse il NOME del computer + il NOME dell'utente, che tu li imposterai come password.
    Lui li dovrà inserire ed a quel punto li confronti con il pc corrente utilizzando semplici variabili di ambiente, recuperate con la funzione Environ(), ad esempio nel mio pc io ottengo questo:
    Dim sComputer As String
    Dim sUtente As String
    sComputer = Environ("COMPUTERNAME") ' risultato: PC-GIORGIO
    sUtente = Environ("USERNAME") ' risultato: giorgio
    imposti la password: PC-GIORGIO-giorgio

    e la confronti con quella inserita dal tuo amico.

    Trovo difficile che un'altra persona vada a modificare il nome del proprio utente e quello del proprio computer solo per aprire il tuo file Excel.
    Attento che potrebbe però modificare temporaneamente le variabili di ambiente.

    Se ti serve una protezione (si fa per dire) più 'seria' allora il metodo corretto è utilizzare le funzion API:
    Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
    Private Declare Function GetComputerNameA Lib "kernel32" (ByVal lpBuffer As String, nSize As Long) As Long
    Nel caso, documentati sul web, nel caso tu voglia usarle.
    http://allapi.mentalis.org/apilist/GetUserName.shtm

  • Re: Individuare il SID del pc e poi chiudere il file excel

    gibra ha scritto:


    giannino1995 ha scritto:


    2) In secondo luogo, quand'anche tu riesca a leggere il SID all'avvio del file Excel del pc corrente, poi come fai a sapere che quel SID è quello del pc del tuo amico?
    Lui te lo dovrebbe comunicare PRIMA, diversamente non vedo come tu possa fare questa verifica.
    Dov'è il problema, l'amico viene a casa con il suo portatile, posso fare tutti gli esperimenti che desidero!
  • Re: Individuare il SID del pc e poi chiudere il file excel

    gibra ha scritto:


    3) Ma questo punto basterebbe che lui ti fornisse il NOME del computer + il NOME dell'utente, che tu li imposterai come password.
    Lui li dovrà inserire ed a quel punto li confronti con il pc corrente utilizzando semplici variabili di ambiente, recuperate con la funzione Environ(), ad esempio nel mio pc io ottengo questo:
    Dim sComputer As String
    Dim sUtente As String
    sComputer = Environ("COMPUTERNAME") ' risultato: PC-GIORGIO
    sUtente = Environ("USERNAME") ' risultato: giorgio
    imposti la password: PC-GIORGIO-giorgio

    e la confronti con quella inserita dal tuo amico.

    Trovo difficile che un'altra persona vada a modificare il nome del proprio utente e quello del proprio computer solo per aprire il tuo file Excel.
    Troppo semplice, saprei come tergiversare alla protezione io stesso che sono un ignorante.
  • Re: Individuare il SID del pc e poi chiudere il file excel

    gibra ha scritto:


    Attento che potrebbe però modificare temporaneamente le variabili di ambiente.

    Se ti serve una protezione (si fa per dire) più 'seria' allora il metodo corretto è utilizzare le funzion API:
    Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
    Private Declare Function GetComputerNameA Lib "kernel32" (ByVal lpBuffer As String, nSize As Long) As Long
    Nel caso, documentati sul web, nel caso tu voglia usarle.
    http://allapi.mentalis.org/apilist/GetUserName.shtm

    Non capisco cosa intendi dire con le variabili di ambiente. Il codice che hai scritto usando le API cosa dovrebbe fare?

    P.S.: In una discussione in inglese che ho letto ieri si diceva che bisognerebbe registrare una dll, ma non capisco nè il principio di funzionamento e nè saprei come farlo.

    P.S.2: Che importa che sia un'operazione complessa, ci siete voi ad aiutarmi!!!
  • Re: Individuare il SID del pc e poi chiudere il file excel

    giannino1995 ha scritto:


    Non capisco cosa intendi dire con le variabili di ambiente.
    Se no lo sai devi documentarti.

    giannino1995 ha scritto:


    Il codice che hai scritto usando le API cosa dovrebbe fare?
    Non ho usato le API. E' puro codice VB.
    Le API sono quelle linkate.

    giannino1995 ha scritto:


    P.S.: In una discussione in inglese che ho letto ieri si diceva che bisognerebbe registrare una dll, ma non capisco nè il principio di funzionamento e nè saprei come farlo.
    Macché registrare DLL!!! Stanno farneticando (o non hanno capito nulla).
    Lascia perdere per carità...

    giannino1995 ha scritto:


    P.S.2: Che importa che sia un'operazione complessa, ci siete voi ad aiutarmi!!!
    Attento, un forum da aiuto, spunti e suggerimenti, ma poi sei tu che devi andare a documentarti sugli argomenti proposti.
    Un forum NON è e non può essere un tutor.

  • Re: Individuare il SID del pc e poi chiudere il file excel

    A parte il fatto che non otterrai un "codice pronto all'uso" (qui non siamo al tuo servizio), mi sembra anche una perdita di tempo perché, qualsiasi meccanismo tu metta in piedi, è superabile, se si vuole, in pochissimo tempo.
  • Re: Individuare il SID del pc e poi chiudere il file excel

    gibra ha scritto:


    Attento, un forum da aiuto, spunti e suggerimenti, ma poi sei tu che devi andare a documentarti sugli argomenti proposti.
    Un forum NON è e non può essere un tutor.
    Questa volta non mi siete stati di aiuto, evidentemente non conoscete la soluzione.

    Io avevo pensato ad una funziona con un semplice If di questo tipo:

    "se il SID è del pc dell'amico OK altrimenti chiudi il programma"

    Si tratta di una manciata di righe di codice, evidentemente non sapete farlo, non mi sembra una cosa così complessa.
  • Re: Individuare il SID del pc e poi chiudere il file excel

    oregon ha scritto:


    A parte il fatto che non otterrai un "codice pronto all'uso" (qui non siamo al tuo servizio), mi sembra anche una perdita di tempo perché, qualsiasi meccanismo tu metta in piedi, è superabile, se si vuole, in pochissimo tempo.
    Non siete in grado, si parla di una manciata di righe di codice. Non serve neppure una classe!
  • Re: Individuare il SID del pc e poi chiudere il file excel

    Non siete in grado, si parla di una manciata di righe di codice.
    Siamo "abbastanza" adulti e vaccinati per non cadere su queste ridicole provocazioni ...

    Qui è VIETATA la pappa pronta. Ti serve? Fai una richiesta ad un programmatore (c'è la sezione in questo forum) e pagalo ...
    "se il SID è del pc dell'amico OK altrimenti chiudi il programma"
    Ecco ... fallo così ...
Devi accedere o registrarti per scrivere nel forum
34 risposte