realbasic-nug.it
[Top] [All Lists]

Re: disabilitare la possibilità di aprire lo stesso exe

To: REALbasic NUG Italian <realbasic-nug.it@lists.realsoftware.com>
Subject: Re: disabilitare la possibilità di aprire lo stesso exe
From: "Ing. Antonio Rinaldi" <falcosoft@mac.com>
Date: Sat, 17 Mar 2012 09:27:19 +0100
Authentication-results: mx.google.com; spf=pass (google.com: domain of realbasic-nug.it-bounces@lists.realsoftware.com designates 74.124.194.228 as permitted sender) smtp.mail=realbasic-nug.it-bounces@lists.realsoftware.com
Delivered-to: listarchive@realsoftware.com
In-reply-to: <CAC+K=zH8CvFNxG7QcowSk7MYcWTS3fKsxWv1L9558b_16gu32A@mail.gmail.com>
Reply-to: Realbasic NUG Italian <realbasic-nug.it@lists.realsoftware.com>
Sender: realbasic-nug.it-bounces@lists.realsoftware.com
Thread-topic: disabilitare la possibilità di aprire lo stesso exe
User-agent: Microsoft-MacOutlook/14.14.0.111121
Per avere un hash unico (senza spazi o potenziali caratteri strani)
Non costa farlo e ti garantisce che eviti problemi



Il giorno 17/03/12 09.14, "fabio stranieri" <rb.stranieri@gmail.com> ha
scritto:

>Buongiorno Ing.Rinaldi,
>
>i parametri che mi interessano li prendo così:
>
>dim cmdline as String = System.CommandLine.DefineEncoding(Encodings.UTF8)
>// restituisce la path dell'applicazione (da linea di comando)
>
>a che serve la codifica che fai?
>
>//Codifico
>p=encodeHex(md5(p))
>
>Grazie
>
>
>
>2012/3/17 Ing. Antonio Rinaldi <falcosoft@mac.com>
>
>> Prova a fare :
>> Dim p as string
>> //prendo la commandLine o comunque i parametri che mi interessano
>> p=System.CommandLine
>>
>> //Codifico
>> p=encodeHex(md5(p))
>>
>>
>> pMutex = New Mutex("App"+p)
>>
>>
>> Il giorno 16/03/12 21.46, "fabio stranieri" <rb.stranieri@gmail.com> ha
>> scritto:
>>
>> >Come mi hai suggerito ho quasi risolto:
>> >
>> >  pMutex = New Mutex("App")
>> >  If not pMutex.TryEnter Then
>> >    MsgBox "Non è possibile aprire 2 sessioni della stessa App!."
>> >    Quit()
>> >  End If
>> >
>> >
>> >
>> >C'è solo una particolarità che dovrei gestire. Avvio l'applicazione
>> >passandogli dei parametri. Questi parametri informano l'app circa la
>> >directory dove l'applicazione deve andare a scrivere (dove c'è il
>> >database). Quindi io vorrei bloccare l'applicazione solo se punta alla
>> >stessa directory, altrimenti ci sarebbero 2 app che scrivono nello
>>stesso
>> >db.......e succede il patatrack!!!
>> >
>> >
>> >
>> >
>> >2012/3/16 Ing. Antonio Rinaldi <falcosoft@mac.com>
>> >
>> >> Puoi farlo con un mutex o tramite ipcSocket
>> >>
>> >> Ad esempio se apri l'applicazione con un doppio click su un documento
>> >>puoi
>> >> avere il caso in cui hai una istanza che lavora sul documento A e una
>> >>sul
>> >> documento B. Puoi fare in modo che sia una sola istanza con 2
>>documenti
>> >> semplicemente usando l'icpSocket per dire a quella aperta per prima
>> >>quale
>> >> documento aprire e poi chiudere la seconda in automatico.
>> >>
>> >> Altrimenti se semplicemente vuoi non attivare la seconda istanza
>>allora
>> >> basta il mutex:
>> >> Mutex <http://docs.realsoftware.com/index.php/Mutex>
>> >>
>> >>
>> >> Ciao
>> >>
>> >>
>> >> Il giorno 16/03/12 20.24, "fabio stranieri" <rb.stranieri@gmail.com>
>>ha
>> >> scritto:
>> >>
>> >> >Ciao,
>> >> >
>> >> >All'avvio dell'applicazione devo verificare che la stessa
>>applicazione
>> >>non
>> >> >sia già aperta.
>> >> >
>> >> >Mi date una dritta?
>> >> >
>> >> >Grazie
>> >>
>> >>
>> >>
>> >>
>>
>>
>>
>>





<Prev in Thread] Current Thread [Next in Thread>