Apertura programma

mercoledì 11 febbraio 2004 - 10.37

webdel Profilo | Newbie

Salve,
I avrei la seguente necessita, una volta aperto il mio programma se riclicco sull'exe non mi deve aprire un altra istanza del programma ma lo stesso.

Grazie


Brainkiller Profilo | Guru

Ciao,
ci sono diversi modi, uno di questi è il seguente cioè usare un Mutex:
Prova a copiare questo codice nel Load della tua applicazione:

Dim allProcesses() As Process
Dim currentProcess As Process = Process.GetCurrentProcess()
allProcesses = Process.GetProcessesByName(currentProcess.ProcessName)

If (allProcesses.Length > 1) Then
MessageBox.Show(currentProcess.ProcessName + " è già in esecuzione !", currentProcess.ProcessName, MessageBoxButtons.OK, MessageBoxIcon.Error)
Application.Exit()
End If

ciao
david

webdel Profilo | Newbie

Ciao ti ringrazio,

il codice funziona, ma volevo sapere se era possibile mandare un messaggio al programma che sta in esecuzione, cioè il mio programma è iconizzato nella systray lo vorrei fare attivare quando lancio di nuovo l'exe.

Grazie

Brainkiller Profilo | Guru

Mmmh... per questo è una cosa più complicata, dovrei pensarci.
In pratica tu vuoi che lanciando una seconda istanza del programma, il programma dalla SysTray venga aperto a schermo, è corretto?

ciao
david

webdel Profilo | Newbie

Si è cosi,
ma credo che sia complicato ho visto che altri programmi tipo messanger non lo fanno.

Grazie
Ciao

Brainkiller Profilo | Guru

In effetti non me l'ero mai chiesto neanche io, credo che comunque sia tecnicamente possibile anche se con particolari artifizi. ciao
david
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5