क्या प्रिंटर संलग्न है या सी ++ में एलपीटी 1 से संचार करने के लिए विंडोज़ (जो विंडोज सीई में काम करता है) में कोई तरीका है?जांच कर रहा है कि कोई प्रिंटर संलग्न है
[संपादित करें] और जानकारी:
वर्तमान में हम एक सामान्य Windows CE प्रिंटर ड्राइवर के साथ काम कर रहे हैं - pcl.dll
- यह CreateDC
में पास करके, प्रिंटर के लिए डीसी को पाने के लिए।
हम PrintDlg()
कॉल कर सकते हैं नहीं प्रिंट संवाद को दिखाने के लिए है क्योंकि यह है "बहुत जटिल की तलाश में," लेकिन हम भी PD_RETURNDEFAULT
से कॉल करने की नहीं कर सकते क्योंकि हम डिफ़ॉल्ट प्रिंटर का उपयोग नहीं करना चाहते हैं। इसलिए, हम CreateDC
में पास करने के लिए मैन्युअल रूप से DEVMODE
संरचना सेट अप कर रहे हैं।
के बाद हम डीसी है, हम GetDeviceCaps()
फोन (जैसे पेज-चौड़ाई, आदि) प्रिंटर के लिए जानकारी प्राप्त करने के लिए, तो StartPage()
/EndPage()
/ExtTextOut()
मुद्रित करने के लिए।
हालांकि, अगर कोई प्रिंटर संलग्न नहीं है, तो प्रोग्राम "निरस्त/पुनः प्रयास/विफल" देने से पहले लगभग एक मिनट तक जमा हो जाता है? संवाद (मुझे नहीं पता कि इस प्रक्रिया में यह किस बिंदु पर ठंडा है)। अन्य सॉफ्टवेयर फ्रीज नहीं है जब आप प्रिंट करने का प्रयास है, इसलिए वहां इसे रोकने का एक तरीका होना चाहिए ...
"संलग्न" परिभाषित करें। – mkb
@Matt: यदि मैं, यह 60 सेकंड के लिए कार्यक्रम स्थिर नहीं होता तो दे (एक PrintDlg दिखाए बिना) कुछ मुद्रित करने के लिए प्रयास करने के लिए थे "LPT1 संलग्न नहीं; बीच में बंद करें, पुन: प्रयास करें, असफल?" –
"एलपीटी 1" क्या है? एक सच्चा समांतर बंदरगाह, या एक यूएसबी पोर्ट (सीई में एक यूएसबी प्रिंटर "एलपीटी 1:" के रूप में घुड़सवार होगा)? – ctacke