संभव डुप्लिकेट सुनिश्चित करना:
What is the correct way to create a single instance application?केवल एक ही आवेदन उदाहरण
मैं एक winforms अनुप्रयोग है, जो निम्नलिखित कोड के माध्यम से एक स्प्लैश स्क्रीन की शुरूआत है:
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;
उपरोक्त मुख्य रूप के कोडबेंड में है और लोड इवेंट हैंडलर से बुलाया गया है।
हालांकि, मैं कैसे सुनिश्चित कर सकता हूं कि एक समय में एप्लिकेशन का केवल एक उदाहरण लोड होगा? मुख्य रूप के लोड इवेंट हैंडलर में, मैं जांच सकता हूं कि प्रक्रिया सूची सिस्टम पर है (GetProcessesByName (...) के माध्यम से), लेकिन क्या कोई बेहतर तरीका है?
.NET 3.5 का उपयोग करना।
आप बुलाना चाहिए 'Application.Run (splashForm)' बजाय एक 'DoEvents की()' पाश। – SLaks