2013-08-02 6 views
8

मैं सिर्फ जाँच करना चाहते हैं, तो किसी भी वांछित आवेदन पहले से हीकैसे करता है, तो आवेदन चल रहा है

जैसे लगता है के लिए

चल रहा है या नहीं की जाँच करने के मैं वीएलसी या iTunes या किसी विंडोज़ अनुप्रयोग है तो मैं कैसे इसे बाहर सी # कोड से लगा सकते हैं अगर यह चल रहा है या नहीं।

उत्तर

17

यह बहुत आसान एक त्वरित गूगल खोज के साथ खोजने के लिए होना चाहिए, लेकिन यहाँ तुम जाओ:

if (Process.GetProcessesByName("process_name").Length > 0) 
{ 
    // Is running 
} 

प्रक्रिया के नाम पर आप के लिए (vlc अर्थात) देख रहे हैं के साथ process_name बदलें।

+1

आपको यह निर्दिष्ट करना चाहिए कि 1> यदि यह स्वयं प्रक्रिया – filimonic

+0

है तो यह क्यों मायने रखता है कि लंबाई '> 0' या'> 1' है? –

+0

सिर्फ प्रश्न को हटाने के लिए 'मैं क्या गलत कर रहा हूं, यह कहता है कि एक और उदाहरण चल रहा है'। जब आप 'proc.exe' नाम से प्रक्रिया शुरू करते हैं, तो आपको लंबाई> = 1, 0 नहीं मिलेगी (प्रक्रिया स्वयं ही मायने रखती है)। बस इसे क्लीनर बनाने के लिए – filimonic

0

इस

public partial class App : System.Windows.Application 
    { 
     public bool IsProcessOpen(string name) 
     { 
      foreach (Process clsProcess in Process.GetProcesses()) 
      { 
       if (clsProcess.ProcessName.Contains(name)) 
       { 
        return true; 
       } 
      } 
      return false; 
     } 

     protected override void OnStartup(StartupEventArgs e) 
     { 
      // Get Reference to the current Process 
      Process thisProc = Process.GetCurrentProcess(); 
      if (IsProcessOpen("name of application.exe") == false) 
      { 
       //System.Windows.MessageBox.Show("Application not open!"); 
       //System.Windows.Application.Current.Shutdown(); 
      } 
      else 
      { 
       // Check how many total processes have the same name as the current one 
       if (Process.GetProcessesByName(thisProc.ProcessName).Length > 1) 
       { 
        // If ther is more than one, than it is already running. 
        System.Windows.MessageBox.Show("Application is already running."); 
        System.Windows.Application.Current.Shutdown(); 
        return; 
       } 
      base.OnStartup(e); 
     } 
} 

आप refere कर सकते हैं Checking if my Windows application is running

+2

यह सिर्फ एक चीर है: http://stackoverflow.com/questions/4722198/checking-if-windows-plication-is-running –

+2

http://stackoverflow.com/questions/4722198 से कॉपी किया गया/जांच-अगर-विंडोज़-एप्लिकेशन-चल रहा है ... अच्छी बात नहीं है –

1

आप अगर आप इस प्रक्रिया का नाम या Process.GetProcessesByID बताएं कि क्या आप जानते हैं कि यह आईडी या तो Process.GetProcessesByName उपयोग कर सकते हैं की कोशिश करो।

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