Olası Çoğalt sağlanması:
What is the correct way to create a single instance application?tek uygulama instance'a
Aşağıdaki kodu aracılığıyla bir açılış ekranı başlattı bir Win uygulaması vardır:
Hide();
bool done = false;
// Below is a closure which will work with outer variables.
ThreadPool.QueueUserWorkItem(x =>
{
using (var splashForm = new SplashScreen())
{
splashForm.Show();
while (!done)
Application.DoEvents();
splashForm.Close();
}
});
Thread.Sleep(3000);
done = true;
The Yukarıdaki ana formun codebehind ve yük olay işleyicisinden çağrılır. Ancak, uygulamanın yalnızca bir örneğinin aynı anda yüklenmesini nasıl sağlayabilirim? Ana formun yük olay işleyicisinde, süreç listesinin sistemde olup olmadığını kontrol edebilirim (GetProcessesByName (...) yoluyla), ancak daha iyi bir yöntem var mı?
.NET 3.5'i kullanma.
Sen çağırmalıdır 'Application.Run (splashForm)' yerine 'DoEvents()' döngü. – SLaks