Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 18 su 18
  1. #11
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    Provo a dare una soluzione.

    Inserisci nel programma un controllo che non sia già in esecuzione:

    codice:
            Dim LRet as String
            LRet = Process.GetCurrentProcess.ProcessName
            If Process.GetProcessesByName(LRet).GetUpperBound(0) > 0 Then
                MsgBox("Applicazione già in uso!")
                Application.ExitThread()
                Application.Exit()
                End
            End If
    Dopo i tentativi falliti chiudi l'applicazione solo dopo un ceerto periodo:

    codice:
    Me.hide()
    Thread.Sleep(60000)
    Application.Exit()
    Me.hide potresti anche non metterlo, ma il form si vedrebbe per un po' di tempo...

    L'unico inconveniente è che se si blocca l'applicazione in qualche modo non visibile quella nuova non riparte più, ma devi killare quella vecchia...

    Fai tu
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  2. #12
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Scusate, ma il senso di questa cosa quale sarebbe?
    Rompere le scatole all'utente?
    Perchè francamente non ne vedo alcun utilità seria.

  3. #13
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    Originariamente inviato da gibra
    Scusate, ma il senso di questa cosa quale sarebbe?
    Rompere le scatole all'utente?
    Perchè francamente non ne vedo alcun utilità seria.


    Avrà i suoi motivi.

    La filosofia non la prendo in considerazione
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  4. #14
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da kalosjo


    Avrà i suoi motivi.

    La filosofia non la prendo in considerazione
    Questo è un forum tecnico, cosa c'entra la filosofia???

    Io ho fatto una semplice domanda, cercando di capire lo scopo di voler implementare questo 'blocco', perchè così com'è stato proposto lo ritengo senza senso (cosa che ribadisco).
    Infatti basta chiudere il processo per evitare il blocco!

    Allora tutto 'sto discutere, a che pro?

    I motivi sono anche i nostri (del forum) dal momento che chi chiede aiuto ha uno scopo che, se motivato, fa comprendere meglio l'esigenza e di conseguenza fornire una soluzione la più adeguata possibile.

    kalosjo: magari non lo sai, ma la filosofia è tutt'altra cosa, credimi.


  5. #15
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    Originariamente inviato da gibra
    Questo è un forum tecnico, cosa c'entra la filosofia???


    kalosjo: magari non lo sai, ma la filosofia è tutt'altra cosa, credimi.

    So bene cosa sia la filosofia.

    La mia era una battuta che non hai pienamente afferrato.

    Il suo problema è implementare una cosa, magari per studio o perchè glielo hanno chiesto o forse perchè è pazzo.
    Se so come farla o penso di saperlo lo aiuto.
    Se c'è un modo diverso rispetto a quello che indica glielo dico.
    Perchè lo vuole fare non mi interessa, nè dovrebbe interessare te.

    Ciao e grazie per l'utilissimo intervento.
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  6. #16
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    200
    Originariamente inviato da gibra
    Scusate, ma il senso di questa cosa quale sarebbe?
    Rompere le scatole all'utente?
    Perchè francamente non ne vedo alcun utilità seria.
    La domanda è lecita e la risposta più sensata è che si vuole evitare che la procedura di login possa venire effettuata da un programma anzichè da un utente.

    Tuttavia, tutte le proposte risolutive trovate o potenzialmente trovabili sono inefficenti e perfettamente inutili nel contesto locale. Questi tipi di controlli devono avvenire in un contesto client/server dove è il server ad effettuare i controlli nel momento in cui il client stabilisce la connessione (quindi ancor prima del login).

    Ciao.

  7. #17
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da Calaf1966
    La domanda è lecita e la risposta più sensata è che si vuole evitare che la procedura di login possa venire effettuata da un programma anzichè da un utente.
    Chi lo sa...?

    Il punto è che ciò potrebbe avere una logica se il programma restasse aperto anche dopo i 3 tentativi falliti.
    Ma dal momento che si chiude, che senso ha?

    Anche supponendo che venga aperto da un programma piuttosto che da un utente:
    per quanto lo si possa tener chiuso anche per XXX tempo, quel programma potrebbe essere anche in grado di tentare di avviare l'applicazione <n> volte, e passato il tempo XXX ci riuscirà.

    Oltretutto l'autore del post non specifica alcunché riguardo allo scenario, configurazione, ecc. e ciò costringe di rispondere 'a naso' indovinando o meno se poi possa essere una soluzione fattibile.

    Originariamente inviato da Calaf1966
    Tuttavia, tutte le proposte risolutive trovate o potenzialmente trovabili sono inefficenti e perfettamente inutili nel contesto locale. Questi tipi di controlli devono avvenire in un contesto client/server dove è il server ad effettuare i controlli nel momento in cui il client stabilisce la connessione (quindi ancor prima del login).
    Ciao.
    Appunto. Senza conoscere lo scenario è inutile discuterne.


  8. #18
    Utente di HTML.it L'avatar di IAL32
    Registrato dal
    Aug 2011
    Messaggi
    88
    Piccolo suggerimento:
    crei una variabile in My.Settings, alla quale assegni il valore dell'ora quando l'utente ha finito i tentativi di login, poi al prossimo riavvio del programma, controlli se l'ora del computer. Se è trascorso tot tempo, allora permetti all'utente di riaprire il programma, altrimenti no. Può sembrare un po' obsoleto(e anche facilmente aggirabile, cambiando l'ora del computer si potrebbe risolvere), ma se per questo anche il metodo Thread.Sleep ha una pecca. L'utente usa il Task Manager e ti "killa" il processo, e quindi anche quel metodo se ne va...io consiglio il primo, può dare l'impressione all'utente di dover aspettare proprio 5 minuti.

    Se il programma necessita di una connessione ad internet allora meglio ancora. Puoi creare un file in remoto sul tuo sito/host, nel quale metti l'ora dell'ultimo tentativo di login(il file potresti chiamarlo come l'ip della rete dell'utente, o come il nome del PC dell'utente, come vuoi); a quel punto fai lo stesso procedimento di prima, ma online, scaricando il file dell'utente(magari per sicurezza salvi anche la variabile con cui hai chiamato il nome del file remoto).

    Ecco, più o meno la cosa che farei è questa

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.