प्रतीक्षा करेंएक्सिट अपवाद की प्रक्रिया


क्योंकि जब आप अप्रत्यक्ष रूप से एक प्रक्रिया शुरू करते हैं, तो आप प्रोसेस ऑब्जेक्ट प्राप्त नहीं करते (फिर आपके मामले की प्रक्रिया में हमेशा शून्य है और दूसरी लाइन अपवाद फेंकता है)। मुझे बताएं कि मैं अप्रत्यक्ष रूप से क्या कह रहा हूं। यदि आप निष्पादन योग्य निर्दिष्ट नहीं करते हैं, लेकिन आप एक दस्तावेज़ (या संसाधन) देते हैं, तो इसे शेल क्रिया के माध्यम से निष्पादित किया जाएगा इस मामले में एक मौजूदा प्रक्रिया (पुनः) इस्तेमाल किया जा सकता है इस मामले में प्रक्रिया। स्टार्ट () शून्य पर लौट आएगी। एक खाली Word दस्तावेज़ c: test. docx बनाएँ। सभी वर्ड इंस्टेंस को बंद करें निष्पादन प्रक्रिया। स्टार्ट (सी: test. docx) एक प्रक्रिया उदाहरण निष्पादित प्रक्रिया वापस करता है। प्रारंभ (c: test. docx) रिटर्न नहीं है क्या आप केवल इस AFAIK को हल कर सकते हैं क्योंकि प्रक्रिया प्रक्रिया शुरू करने के लिए SHELLEXECUTEINFO संरचना के साथ ShellExecuteEx का उपयोग करती है। HProcess फ़ील्ड के लिए SHELLEXECUTEINFO प्रलेखन पढ़ना आप यह देखेंगे: नव शुरू आवेदन के लिए एक हैंडल। इस सदस्य को रिटर्न पर सेट किया गया है और जब तक FMask को SEEMASKNOCLOSEPROCESS पर सेट नहीं किया जाता है तब तक हमेशा नल होता है। भले ही fMask SEEMASKNOCLOSEPROCESS पर सेट किया गया हो, hProcess शून्य हो जाएगा अगर कोई प्रक्रिया शुरू नहीं हुई थी। उदाहरण के लिए, यदि कोई दस्तावेज़ लॉन्च किया जाना एक यूआरएल है और इंटरनेट एक्सप्लोरर का एक उदाहरण पहले से ही चल रहा है, तो यह दस्तावेज प्रदर्शित करेगा। कोई नई प्रक्रिया शुरू नहीं की गई है, और एचप्रोसेंस नल होगा। नोट ShellExecuteEx हमेशा एक hProcess वापस नहीं करता है, भले ही कॉल के परिणाम के रूप में एक प्रक्रिया शुरू की है। उदाहरण के लिए, जब आप IContextMenu को आह्वान करने के लिए SEEMASKINVOKEIDLIST का उपयोग करते हैं तो एक hProcess वापस नहीं निकलता है ध्यान दें कि यदि आप एक यूआरएल खोलने के लिए एक नई प्रक्रिया चला रहे हैं और एक सर्वर साइड जेनरेट फाइल प्राप्त कर लेते हैं, तो आपको डैमीन्स के सुझाव का पालन करना चाहिए और वेबमेल का प्रयोग करना होगा। डाउनलोडफ़ाइल ()। (सी तीव्र) gtInvalidOperation प्रक्रिया में प्रक्रिया.वेफ़एफ़एक्सएक्सिट आवश्यकता को बंद करने का पता लगाना है एक प्रक्रिया से खोला शब्द दस्तावेज़ का दस्तावेज़ का कुछ टुकड़ा है जिसे दस्तावेज़ बंद होने के बाद निष्पादित किया जाना है। प्रक्रिया का प्रयोग करना। प्रारंभ () दस्तावेज़ खोला गया है, मैं प्रक्रिया का उपयोग किया। VaitForExit () आगे निष्पादन को रोकने के लिए जब तक दस्तावेज़ बंद है। लेकिन एक बार जब दस्तावेज़ बंद हो जाता है, तो Process. WaitForExit () फेंकता अमान्यऑपरेशन अपवाद-कोई प्रक्रिया ऑब्जेक्ट अपवाद से जुड़ा नहीं है यहां तक ​​कि प्रोसेस का उपयोग करने पर भी। हेटेड प्रॉपर्टीप्रोकेशन. WaitForInputIdle (), एक ही अपवाद फेंक दिया जाता है। यह अपवाद रिलीज और डीबग मोड के दौरान दिया गया है। कोई भी विचार क्यों इस अपवाद को 6 सितंबर, 9: 18 बजे, संगीता एलटीसीगेई चर्चाएं। माइक्रोसॉफ्ट ने लिखा: gt एक प्रक्रिया द्वारा खोला गया शब्द दस्तावेज़ को बंद करने की आवश्यकता है। जीडी का कुछ टुकड़ा है, जिसे डॉक्यूमेंट जीटी बंद होने के बाद निष्पादित किया जाना है। gt gt प्रक्रिया का प्रयोग करें। प्रारंभ () दस्तावेज़ खोला गया है, मैं प्रक्रिया का उपयोग किया। WaitForExit () gt; दस्तावेज़ को बंद होने तक और निष्पादन रोकें। gt gt। एक बार जब दस्तावेज़ बंद हो जाता है, तो Process. WaitForExit () gt gt इनविडीओपरेशन अपवाद - कोई प्रक्रिया objectquot अपवाद से जुड़ा नहीं है gt gt। प्रक्रिया का उपयोग करने पर भी। Hated propertyprocess. WaitForInputIdle (), वही gt अपवाद फेंक दिया जाता है। gt gt; यह अपवाद रिलीज और डीबग मोड के दौरान फेंक दिया गया है। gt gt किसी भी विचार क्यों यह अपवाद उत्पन्न होता है। मुझे नहीं लगता कि आप सही प्रक्रिया चर पर प्रतीक्षा कर रहे हैं। सुनिश्चित करें कि आप प्रोसेस के परिणाम आवंटित करने के लिए भूल नहीं रहे हैं। स्टार्ट () टाइप प्रक्रिया के एक चर में प्रक्रिया पी 1 नई प्रक्रिया () प्रक्रिया पी 2 प्रक्रिया। प्रारंभ (quotnotepad. exequot) p1.WaitForExit () लेफ्टिनेंट - p2.WaitForExit () लेफ्टिनेंट - फेंक नहीं होगा। या। p1.StartInfo नई प्रोसेस्टस्टटाइन्फ़ो (quotnotepad. exequot) p1.Start () p1.WaitForExit () लेफ्टिनेंट - फेंक नहीं होगा

Comments