2016-02-22 3 views
8

मैं एक WCF सेवा बना दिया है के बाद दिखाई नहीं देता है और यह एक तरीका है स्ट्रिंग SaveVideoInformation() शामिल हैंयूआई Process.Start()

इस विधि का उद्देश्य एक प्रक्रिया को चलाने के लिए अगर यह नहीं है है चल रहा है। उस विधि का कोड निम्नलिखित है।

public string SaveVideoInformation(string ID, string videoName) 
    { 
     string Result = null; 
     try 
     { 
      Result = Insert(ID, videoName); 
      Process[] pname = Process.GetProcessesByName("AutoRunVideoWaterMarkingTook"); 
      if (pname.Length == 0) 
      { 
       Result += " | Trying to run Process"; 
       try 
       { 
        Process process = Process.Start(@"~\Debug\AutoRunVideoWaterMarkingTook.exe"); 
        Result += " | Process Ran Successfully"; 
       } 
       catch (Exception ex) 
       { 
        Result += " | Exception While Running the process"; 
        throw new Exception("Unable to start Process); 
       } 
      } 
      else 
      { 
       Result += "|Process Already Running"; 
      } 
     } 
     catch (Exception ex) 
     { 
      Result = "Not Done," + ex.Message; 
     } 
     return Result; 
    } 

समस्या का सामना करना पड़ रहा हूँ जब मैं विंडोज फार्म उपकरण आवेदन से इस विधि कॉल, इसे सफलतापूर्वक चलाने के लिए और मैं यूआई देख सकते हैं।

लेकिन जब मैं विंडोज़ सेवा से इस विधि को कॉल करता हूं, प्रक्रिया शुरू होती है लेकिन इसका यूआई दिखाई नहीं देता है।

उत्तर

1

यह सबसे अधिक संभावना है क्योंकि आपकी विंडोज सेवा उपयोगकर्ता इंटरैक्टिव मोड में नहीं है।

this blog में वर्णित अनुसार आपको इसे सेवा पैनल से सक्षम करना होगा: Log On पृष्ठ में Allow service to interact with desktop देखें।

Microsofts recommendations on user interactive services भी पढ़ें।

+0

मैं विंडोज 8 का उपयोग कर रहा हूं। मैंने दो बदलाव किए हैं। इसे डेस्कटॉप पर इंटरैक्टिव बनाया, रजिस्ट्री में बदलाव किए और पुनरारंभ करें। आखिरकार यह अभी भी एक ही डेस्कटॉप पर नहीं चल रहा है लेकिन डायलॉग बॉक्स के साथ संकेत है। इस संदेश को देखते हुए "कंप्यूटर पर चल रहा एक प्रोग्राम एक संदेश प्रदर्शित करने का प्रयास कर रहा है" जब मैं व्यू संदेश पर क्लिक करता हूं। यह मुझे दूसरे डेस्कटॉप पर ले जाता है जहां मेरा टूल – Charlie

+0

चल रहा है जो कि उपयोगकर्ता समस्या हो सकती है। सेवा किस उपयोगकर्ता के अंतर्गत चलती है? –