سؤال

ولدي loader.exe مع الرئيسية () الذي يقوم بتحميل "UI" في برنامج الأغذية العالمي، والشيء هو أنني أريد مثيل واحد فقط من loader.exe، كيف يمكنني تحقيق ذلك؟

هل هناك طريقة ينقر المستخدم loader.exe يجب أن تحقق إذا كان loader.exe الموجودة قيد التشغيل و لا يفعل شيئا.

وحاليا لدي

وloader.exe

مع

main() 
....
..
Load UI
...

ومحمل ليس لديه فكرة عما تحميل لها وما لذلك لا يمكن أن تفعل أشياء كثيرة مع المشروع محمل ...

وأي كود مساعدة ن هو محل تقدير كبير

وشكرا مقدما.

هل كانت مفيدة؟

المحلول

ونحن نستخدم C # البرمجية التالية للكشف إذا كان تطبيق قيد التشغيل:

using System.Threading;

string appSpecificGuid = "{007400FE-003D-00A5-AFFE-DA62E35CC1F5}";    
bool exclusive;
Mutex m = new Mutex(true, appSpecificGuid, out exclusive);
if (exclusive) {
    // run
} else {
    // already running
}

والتحيات، tamberg

نصائح أخرى

وإلقاء نظرة على العنوان التالي:

<وأ href = "http://yogesh.jagotagroup.com/blog/post/2008/07/03/Ways-of-making-a-WPF-application-Single-Instance.aspx" يختلط = "نوفولو noreferrer "> http://yogesh.jagotagroup.com/blog/post/2008/07/03/Ways-of-making-a-WPF-application-Single-Instance.aspx

وبالإضافة إلى ذلك، قد تجد إجابة أكثر تفصيلا في هذا المنصب التالية هنا على ستاكوفيرفلوو:

ما هي الطريقة الصحيحة لإنشاء تطبيق مثيل واحد؟

وهذا هو بلدي حل بسيط ومفيد: <لأ href = "http://blogs.microsoft.co.il/blogs/maxim/archive/2010/02/13/single-instance-application-manager.aspx" يختلط = "نوفولو noreferrer"> http://blogs.microsoft.co.il/blogs/maxim/archive/2010/02/13/single-instance-application-manager.aspx

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top