पृष्ठभूमि का उपयोग करते हुए बिना:निगरानी प्रिंट स्पूल इंटरॉप/अप्रबंधित कोड
मैं .NET 4.0 का उपयोग कर सी # में एक आवेदन पत्र लिख रहा हूँ। यह एक निश्चित क्रम में दस्तावेजों का एक गुच्छा मुद्रित करता है। दस्तावेज सभी अलग-अलग प्रकार के होते हैं और वास्तव में "प्रिंट" क्रिया के साथ ShellExecute का उपयोग करके मुद्रित होते हैं।
यह सुनिश्चित करने के लिए कि आदेश जुड़ा हुआ नहीं है, मैं प्रिंटर के लिए प्रिंट कतार की जांच करना चाहता हूं। मेरा मुख्य पाश लगेगा जैसे: दस्तावेज़
किया
- आह्वान "प्रिंट" कार्रवाई प्रबंधित कोड का उपयोग कर प्रिंट कतार?
मुझे अप्रबंधित कॉल (जैसे: http://blogs.msdn.com/b/martijnh/archive/2009/08/05/printmonitor-a-c-print-spooler-monitor.aspx) का उपयोग करके समान चीजों को करने के कुछ शानदार उदाहरण मिले। साथ ही, मुझे पता है कि स्पूल की गई फ़ाइलों को c: \ windows \ system32 \ spool ... और चीज़ों को इस तरह से समझें।
हाउवर, इनमें से कोई भी समाधान बहुत संतोषजनक नहीं है ... अप्रबंधित कॉड की मात्रा के साथ मैं कह रहा हूं कि मुझे बस सी ++ में ऐप लिखना चाहिए। (और .NET निर्भरता/ओवरहेड नहीं है।)
मुख्य प्रश्न: क्या केवल प्रबंधित कॉल का उपयोग करके प्रिंट कतार की निगरानी करने का कोई तरीका नहीं है?
अधिक सामान्य प्रश्न: मैं जावा दुनिया से आते हैं, और जब मैं कुछ ओएस विशिष्ट या कुछ और एमएस दुनिया में अन्य बातों के साथ बातचीत करने की जरूरत है कि क्या करना चाहते हैं कि विशेष तौर पर नेट भाषाओं का उपयोग करें। (उदाहरण के लघु उद्योगों घटकों के लिए।)
यह मैं एक परियोजना मैं इस एक ही गंदगी में समाप्त शुरू हर बार की तरह लगता है: देशी काम करता है, COM सामान, आदि के लिए कॉल के सभी प्रकार, आदि
माध्यमिक प्रश्न : क्या .NET दर्शन या कार्यान्वयन के बारे में कुछ याद आ रहा है? (क्या मैं प्रबंधित पुस्तकालयों के लिए चीजों को करने के लिए पर्याप्त कठिन नहीं देख रहा हूं? क्या .NET को कुछ भी करने के लिए गलत विकल्प है जो विंडोज-विशिष्ट चीजों को प्रिंट कतार में हेरफेर करने की ज़रूरत है?) मुझे मिलता है (या मुझे लगता है कि) .NET सैद्धांतिक रूप से ओएस-स्वतंत्र होना चाहिए .. लेकिन निश्चित रूप से अधिकांश आधुनिक ऑपरेटिंग सिस्टम में प्रिंटर और प्रिंट कतार और ऐसी चीजें हैं। (तो अगर आप चीजों के इन प्रकार के कर के लिए सामान्य कॉल था, वे ढांचे के एक मंच के संस्करण पर लागू किया जा सकता ..)
डाउनवॉट्स क्यों? यह एक बहुत ही विशिष्ट प्रोग्रामिंग प्रश्न है। द्वितीयक, अधिक अस्पष्ट सवाल सिर्फ एक तरफ है। (क्योंकि ऐसा लगता है कि मेरे विशिष्ट प्रश्न की जड़ एक मौलिक गलतफहमी हो सकती है।) – user426724