2014-09-05 5 views
5

मैं किसी एप्लिकेशन को स्वचालित करने के लिए testStack/White लाइब्रेरी का उपयोग कर रहा हूं। अभी यह ठीक काम कर रहा है लेकिन अगर एप्लिकेशन पहले से चल रहा है तो यह अपवाद फेंकता है। यदि चेक पहले से चल रहा है तो चेक डालने का कोई तरीका है तो इसे न करें। मेरा मतलब है, तो हम कोड की इस पंक्ति कोव्हाइट पहले से ही चल रहे एप्लिकेशन पर कैसे काम करता है?

Application application = Application.Launch(@"someapplication.exe"); 

मुझे व्हाइट का कोई अच्छा दस्तावेज नहीं मिला। किसी भी मदद की सराहना की जाएगी।

उत्तर

9

तुम कर सकते हो:

Application application; 
Process[] processes = Process.GetProcessesByName(@"someapplication"); 
if (processes.Length == 0) 
    application = Application.Launch(@"someapplication"); 
else 
    application = Application.Attach(@"someapplication"); 

खुश कोडिंग

+0

'.exe' भाग को निकालना पड़ा। –

+0

यह वह सटीक कोड/तर्क है जिसे मैं ढूंढ रहा था। धन्यवाद! – Chris

+0

ने .exe को हटा दिया – Alas

2

या आसान

Application application = Application.AttachOrLaunch(@"someapplication.exe"); 
1

पिछले जवाब पर सूअर का बच्चा वापस करने के लिए, आप चाहते हैं एप्लिकेशन के नाम को खोजने के लिए ...

1) कार्य प्रबंधक खोलें, 2) जिस प्रक्रिया को आप चाहते हैं उसे ढूंढें सफेद 3 के साथ उपयोग करने के लिए टी) अपनी इच्छित प्रक्रिया पर राइट क्लिक करें और गुणों का चयन करें 4) उपयोग करने का नाम टेक्स्टबॉक्स में है। आमतौर पर .exe नहीं है।

संबंधित मुद्दे