Běh pouze jedné instance aplikace

Postup:
Mějme jako spouštěcí prvek formulář Form1. Na událost Load:
Sub Form1_Load ()
	If App.PrevInstance Then
	'Zjištění, zda neběží jiná instance aplikace
		SaveTitle$ = App.Title
		'Pokud ano, uložení titulku nové instance
		App.Title = "... duplicitní instance."	
		'Změna titulku nové instance pro jednoznačnou referenci
		Form1.Caption = "... duplicitní instance."
		AppActivate SaveTitle$
		'Aktivace původní instance aplikace
		SendKeys "% R", True
		'Obnovení okna původní instance
		End
		'Ukončení nové instance
	End If
End Sub

Při funkci Load prvního formuláře (nebo přemístěním tohoto kódu na první proceduru) se aplikace ujistí, že neběží žádná její předchozí instance. Pokud takovýto fakt zjistí, aktivuje původní instanci a sama sebe ukončí.

Zpět

Autor: The Bozena