आप एक सी/सी ++ एप्लिकेशन कैसे प्रोग्राम करेंगे जो विंडो या कंसोल खोलने के बिना चलाया जा सकता है?विंडो के बिना कोई एप्लिकेशन बनाएं
उत्तर
जब आप एक WinMain प्रोग्राम लिखने, आप स्वचालित संकलक में खिड़कियों होने के लिए/सबसिस्टम विकल्प मिलता है। (मान लें कि आप विजुअल स्टूडियो का उपयोग करते हैं)। किसी भी अन्य कंपाइलर के लिए एक समान विकल्प मौजूद हो सकता है लेकिन ध्वज का नाम अलग हो सकता है।
यह संकलक निष्पादन योग्य फ़ाइल प्रारूप (PE format) में एक प्रविष्टि बनाने का कारण बनता है जो निष्पादन योग्य विंडोज़ के रूप में निष्पादन योग्य है।
एक बार यह जानकारी निष्पादन योग्य में मौजूद हो जाने के बाद, सिस्टम लोडर जो प्रोग्राम शुरू करता है, आपके बाइनरी को विंडोज निष्पादन योग्य के रूप में और कंसोल प्रोग्राम के रूप में नहीं मानता है और इसलिए यह चलने पर कंसोल विंडो स्वचालित रूप से खुलने का कारण नहीं बनता है।
लेकिन एक विंडोज प्रोग्राम को किसी भी विंडो को बनाने की ज़रूरत नहीं है, अगर उसे टास्कबार में चल रहे सभी प्रोग्राम और सेवाओं की तरह नहीं, लेकिन उनके लिए कोई भी संबंधित विंडो नहीं दिखती है। यह तब भी हो सकता है जब आप एक विंडो बनाते हैं लेकिन इसे दिखाने का विकल्प नहीं चुनते हैं।
तुम सब करने की ज़रूरत है, प्राप्त करने के लिए यह सब है,
#include <Windows.h>
int WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int cmdShow)
{
/* do your stuff here. If you return from this function the program ends */
}
कारण आप की आवश्यकता होती है एक WinMain ही है कि एक बार आप Windows के रूप में उप-प्रणाली को चिह्नित, लिंकर मान लिया गया है कि आपके प्रवेश बिंदु समारोह (जो प्रोग्राम लोड के बाद बुलाया जाता है और सी रन टीआईएम लाइब्रेरी शुरू होता है) WinMain होगा और मुख्य नहीं होगा। यदि आप इस तरह के प्रोग्राम में WinMain प्रदान नहीं करते हैं तो आपको लिंकिंग प्रक्रिया के दौरान एक अनइंस्टॉल प्रतीक त्रुटि मिल जाएगी।
मेरे पास एक समान आवश्यकता है जहां मैं टाइमर का उपयोग करता हूं। मैं प्रोग्राम को बिना रोक के दौड़ना चाहता हूं। इस कार्यक्रम में एक टाइमर सेट किया गया है। तो मैं इसे कैसे करूं। ? –
यह int WINAPI WinMain (...) नहीं होना चाहिए? – uceumern
खिड़कियों में:
#include <windows.h>
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
// <-- Program logic here
return 0;
}
के रूप में एडम Mitz ने उल्लेख किया/सबसिस्टम लिंकर स्विच का उपयोग सुनिश्चित करें।
अन्य प्लेटफार्मों पर:
int main(int argc, char**argv)
{
// <-- Program logic here
return 0;
}
दो शिकायतें: यदि आप windows.h शामिल नहीं करते हैं तो WinMain अनावश्यक है; और 0 लौटें; मुख्य में वैकल्पिक है। – coppro
आप 0 लौटने के लिए चाहते हैं ताकि आप इसे कॉल करने वाले कार्यक्रमों में सफलता का संकेत दे सकें। –
यदि आप कंसोल एप्लिकेशन बनाते हैं और विंडोज़ के लिए int मुख्य रखते हैं तो आप एक्सई पर डबल क्लिक करते समय कंसोल विंडो पॉपअप करेंगे। –
आप MSVC या दृश्य स्टूडियो उपयोग कर रहे हैं सिर्फ नए परियोजना जादूगर का उपयोग करें और चयन कंसोल आवेदन।
कंसोल एप्लिकेशन हमेशा एक कंसोल विंडो खुलता है जब यह – computinglife
चलाता है क्या आप वाकई जानते हैं कि आप किस बारे में बात कर रहे हैं? http://en.wikipedia.org/wiki/Win32_console मुझे नहीं लगता !!! पिछली बार जब मैंने एक कंसोल ऐप देखा तो एक गैर gui win32 एप्लिकेशन था !!! – jussij
जुसीज - सही। यह एक सीएलयूआई आवेदन है। और उस सीएलयूआई के साथ बातचीत करने के लिए, विंडोज़ आपके लिए सीएल जीयूआई बनाती है। – Aaron
यदि आपको कंसोल या विंडो के बिना अपने प्रोग्राम को चलाने की आवश्यकता है तो आपको उपयोगी deamon on *NIX या services on Windows मिल सकता है, यह .NET उदाहरण यदि आपको सादे Win32 की आवश्यकता है तो बस नमूना के लिए थोड़ा सा Google।
चूंकि आपका प्रश्न win32 के रूप में टैग किया गया है, मुझे लगता है कि सेवाएं आपके लिए अधिक प्रासंगिक हैं।
Win32 एप्लिकेशन बनाने के लिए विजुअल स्टूडियो विज़ार्ड का उपयोग करें। लेकिन खिड़की नहीं बनाओ यानी, आप खिड़की निर्माण समारोह को हटा दें। वैकल्पिक रूप से हम विन सेवा अनुप्रयोग बना सकते हैं।
विजुअल स्टूडियो एक्सप्रेस 2010 में विंडोज़ के उपप्रणाली को सेट करने के बाद (उपयोगकर्ता 17224 द्वारा सुझाए गए अनुसार) में वैकल्पिक रूप से मुख्य रूप से WinMain (उपयोगकर्ता 17224 और ब्रायन आर बॉन्डी द्वारा सुझाए गए अनुसार) को बदलने के लिए, कोई प्रविष्टि फ़ंक्शन मुख्य में सेट कर सकता है गुण, लिंकर, उन्नत, प्रवेश बिंदु: बस टेक्स्ट बॉक्स में मुख्य टाइप करें।
- 1. बिना दृश्य कंसोल विंडो के विंडोज़ में पृष्ठभूमि प्रक्रिया बनाएं
- 2. विजुअल स्टूडियो के बिना सिल्वरलाइट 4 एप्लिकेशन कैसे बनाएं?
- 3. डेस्कटॉप (विंडो) एप्लिकेशन बनाएं जो इंस्टॉल किए बिना चलाया जा सके?
- 4. डिबगिंग के बिना तत्काल विंडो
- 5. सक्रिय किए बिना विंडो दिखाएं (इसे नीचे सक्रिय एप्लिकेशन रखें)
- 6. जावा: बिना ग्राफिक्स बनाएं?
- 7. विंडो के बिना कीबोर्ड ईवेंट प्राप्त करना
- 8. शीर्ष एनएसएलर्ट को शीर्षतम विंडो बनाएं?
- 9. एनएसपीनल में एनएसवी व्यू को मुख्य विंडो स्थिति के बिना पहले उत्तरदाता बनाएं
- 10. एक एप्लिकेशन विंडो
- 11. विंडो-कम कोको एप्लिकेशन
- 12. लिनक्स पर पारदर्शी विंडो कैसे बनाएं
- 13. कार्य में ब्राउज़र विंडो ब्लिंक बनाएं बार
- 14. सीमा के बिना विंडो ले जाएं
- 15. सास एप्लिकेशन कैसे बनाएं?
- 16. सीमा के बिना एक WPF विंडो कैसे बनाएं जिसका आकार बदला जा सकता है?
- 17. व्यक्तिगत प्रोफ़ाइल के बिना किसी कंपनी के लिए फेसबुक एप्लिकेशन बनाएं
- 18. मौजूदा विंडो से नई PyQt4 विंडो कैसे बनाएं?
- 19. डेल्फी: सक्रियण के बिना विंडो दिखाएं
- 20. कॉलम के बिना एक टेबल बनाएं
- 21. जावा में ओवरले विंडो कैसे बनाएं?
- 22. एसडब्ल्यूटी: सीमा के बिना समूह कैसे बनाएं?
- 23. उद्देश्य-सी के बिना NSAutoreleasePool कैसे बनाएं?
- 24. UITabBarItem के लिए कोई क्रिया कैसे बनाएं?
- 25. थीम आधारित एप्लिकेशन कैसे बनाएं?
- 26. jQuery के साथ नई विंडो में .pdf के साथ कोई भी लिंक बनाएं?
- 27. कोई एप्लिकेशन
- 28. कोई एप्लिकेशन
- 29. फोकस किए बिना एक पिगलेट विंडो खोलें
- 30. एप्लिकेशन लोडर: कोई योग्य एप्लिकेशन नहीं मिला
संबंधित धागा: http://stackoverflow.com/questions/13051412/how-to-hide-the-console-window-in-a-win32-project-using-visual-studio-2010 – BuvinJ