2012-11-29 10 views
6

जब मेरे पास Win32 गैर-कंसोल एप्लिकेशन है (AFAIK, Win32 ऐप का कंसोल-नेस exe में जुड़ा हुआ है), इसे कंसोल cmd.exe से शुरू करने से तुरंत कमांड प्रॉम्प्ट पर वापस आ जाएगा, "पृष्ठभूमि में एप्लिकेशन चलाएं "(ओसी में इसका एक जीयूआई हो सकता है, या यहां तक ​​कि अपनी कंसोल विंडो भी खोल सकता है)क्या यह गैर-कंसोल Win32 एप्लिकेशन को invoking cmd shell में संलग्न करना संभव है?

क्या यह गैर-कंसोल निष्पादन योग्य में यह पता लगाने के लिए संभव है कि इसे cmd.exe से लॉन्च किया गया था और इसे लॉन्च करने के लिए" संलग्न "किया गया था cmd.exe?

और ध्यान दें कि इससे संबंधित विभिन्न प्रश्न/उत्तर हैं, लेकिन ऐसा लगता है कि इस सटीक दृष्टिकोण की जांच नहीं की गई है। (शायद यह संभव नहीं है।)

+1

यह अभ्यास में अच्छी तरह से काम नहीं करता है, कंसोल पर लड़ने वाली प्रक्रियाओं से बचने के लिए आपके उपयोगकर्ता को "yourapp.exe प्रारंभ करें/प्रतीक्षा करें" का उपयोग करना होगा। सरल और कभी-कभी असफल तरीका एक/सबसिस्टम डालना है: –

उत्तर

5

आप इसे बहुत आसानी से कर सकते हैं। बस ATTACH_PARENT_PROCESS से AttachConsole पर जाएं।

अंतिम परिणाम समझदार या व्यावहारिक है या नहीं, मैं कुछ नहीं कह सकता था। दोनों प्रक्रियाएं उसी कंसोल को पढ़ और लिखती हैं जो बहुत अजीब हो सकती है।

+0

पथ में अपने ऐप का कंसोल बनाएं और यह समझ में आएगा? Cmd.exe प्रक्रिया संलग्न अन्य प्रक्रिया से अवगत नहीं होगी, है ना? दोनों प्रक्रिया एक ही कंसोल से स्वतंत्र रूप से लिख और पढ़ी जाएगी? –

+0

मुझे यकीन नहीं है कि यह समझ में आएगा। जैसा कि आप कहते हैं, दोनों प्रक्रियाएं एक ही कंसोल का उपयोग कर सकती हैं। –

+0

और अगर किसी ने कंसोल विंडो बंद कर दी है, तो उससे जुड़ा आवेदन भी बंद हो जाएगा। –

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