Windows XP के तहत डिफ़ॉल्ट कंसोल एमुलेटर की जगह


11

मैं Windows XP के तहत कंसोल विंडो प्रदान करने वाले डिफ़ॉल्ट प्रोग्राम को कैसे बदल सकता हूं?

मुझे वैकल्पिक कार्यक्रमों का पता है , और मेरे पास कंसोल 2cmd.exe में शुरू करने का शॉर्टकट है । लेकिन अब मैं कंसोल कंसोल को डिफ़ॉल्ट कंसोल प्रोग्राम के बजाय शुरू करने के लिए आवेदन करना चाहता हूं, तब भी जब मेरे पास कंसोल एप्लिकेशन को शुरू करने वाले प्रोग्राम पर कोई नियंत्रण नहीं है। (यानी एक गैर-कंसोल प्रोग्राम शुरू होता है , और मैं इसके बजाय कंसोल 2 को शुरू करने के लिए इसे बदल नहीं सकता, लेकिन मैं अभी भी चाहता हूं कि एप्लिकेशन को कंसोल 2 के एक नए उदाहरण के अंदर शुरू किया जाए।)consoleapp.exe

(ध्यान दें कि मैं कंसोल को स्वयं बदलना चाहता हूं , अर्थात वह विंडो जिसमें कंसोल (यानी टेक्स्ट मोड) एप्लिकेशन चलते हैं। और मुझे मनमाने ढंग से, अनमॉडिफ़ाइड कंसोल एप्लिकेशन को चलाने में सक्षम होना चाहिए: एक विशिष्ट कंसोल प्रोग्राम जैसे Cmd का विकल्प मुझे कोई अच्छा नहीं लगेगा।)

संपादित करें : तो मैं क्या कर रहा हूँ एक CSRSS प्रतिस्थापन है , जो की ओर जाता है

OT: मैं जानना चाहता हूं कि Microsoft कब एक अच्छा CSRSS प्रतिस्थापन करने जा रहा है। खिड़की का आकार बदलकर "टर्मिनल" की चौड़ाई को समायोजित करने में सक्षम नहीं होना एक पूर्ण मजाक है।

ISE पहले ही डाउनलोड कर लें। (यह Win7 / 2008R2 में शामिल है।)

लेकिन जहां तक ​​मैं समझता हूं कि यह आईएसई पॉवर्सशेल के लिए एक वातावरण है , न कि एक सामान्य कंसोल एमुलेटर।


आपके नए उद्धरण में उल्लिखित कमी सीएमडी पर लागू नहीं होती है जब यह कंसोल 2 के अंदर चलाया जाता है, वैसे भी, आईआईआरसी।
paradroid

@ jason404: हाँ, लेकिन अगर आप एक बैच फ़ाइल को डबल क्लिक करते हैं, उदाहरण के लिए, यह कंसोल 2 में नहीं खुलेगा। इस तरह के उदाहरण हैं जहां आपको वास्तव में कमांड लाइन शेल को बदलने की आवश्यकता हो सकती है। मुझे लगता है कि यह एक महान सवाल है, +1।
साशा चेदिगोव

कंसोल एमुलेटर के नए टैब में एसटीडी कंसोल के "अटैच" हो सकते हैं? मैनुअल संलग्न, मेरा मतलब है।
मैक्सिमस

@ मैक्सिमस मुझे समझ नहीं आ रहा है कि आप क्या उल्लेख कर रहे हैं। "Std कंसोल" से, क्या आपका मतलब CSRSS से है? वह "अटैचमेंट" चीज कहां है?
गिल्स एसओ- बुराई को रोकना '

ConEmu अपने टैब में किसी भी मौजूदा "वास्तविक कंसोल" (CSRSS, हां) या साधारण GUI एप्लिकेशन को संलग्न कर सकता है। ConEmu इंटरफ़ेस से मैन्युअल रूप से किया जा सकता है, या कंसोल में विशेष कमांड निष्पादित करके (यदि लागू हो)।
मैक्सिमस

जवाबों:


9

मैं ConEmu का एक लेखक हूं - विंडोज कंसोल एमुलेटर। इसकी एक विशेषता इसके टैब मौजूदा कंसोल या साधारण GUI अनुप्रयोगों पर कब्जा कर रही है। इसलिए, मानक कंसोल (CSRSS / ConHost) में कंसोल प्रोग्राम शुरू करने के बाद, आप कर सकते हैं:

  • ConEmu प्रणाली मेनू में, "अटैच ..." मद ( Win+ Gडिफ़ॉल्ट रूप से) और खिड़की संलग्न चुनें। यदि ConEmu शुरू नहीं किया गया था, तो आप वैकल्पिक रूप से स्टार्टअप पर कंसोल / टैब बनाए बिना इसे शुरू कर सकते हैं:

    C:\Tools\ConEmu.exe /detached
    
  • या, यदि लागू हो, तो प्रारंभ कंसोल में निम्नलिखित कमांड (ConEmu \ Attach.cmd) चलाएं, जो कंसोल साइड से अटैचमेंट आरंभ करता है। ध्यान दें, उस स्थिति में, ConEmu.exe (GUI) स्वचालित रूप से शुरू हो जाएगी, यदि पहले से मौजूद नहीं है।

    ConEmuC.exe /ATTACH /NOCMD
    
  • एक और तरीका है। मुझे लगता है कि यह आपकी आवश्यकताओं से मेल नहीं खाता है, हालांकि मैं इसका खुलासा करूंगा। रजिस्ट्री में एक कुंजी है, जो कंसोल स्टार्टअप के बाद cmd / tcc निष्पादित करती है। जब आप शुरू कर रहे हैं consoleapp.exe, नहीं cmd.exe, यह याद आती है। नहीं है Cmd_Autorun.cmdConEmu distrib में फ़ाइल इस आदेश की स्थापना रद्द करें स्थापित करने के लिए /।

    [HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
    "AutoRun"="\"<Command to be executed>\"" 
    

यहाँ एक टैग है, Superuser.com पर

युपीडी । 120704 बनाएँ। कंसोल विंडो के लिए वैकल्पिक nonintrusive अनुलग्नक मोड।

ConEmu बाहरी कंसोल संवाद संलग्न करता है

UPD2 । 121128 बनाएँ explorer.exe,vcexpress.exe। उदाहरण के लिए, निर्दिष्ट (उपयोगकर्ता) अनुप्रयोगों से "कंसोल विंडो के निर्माण" को रोकना संभव है । इस घुसपैठिए प्रयोगात्मक सुविधा के बारे में और पढ़ें ।


होनहार लगता है, लेकिन यह मेरे लिए काम नहीं करता है (मुझे लगता है कि यह दूसरों के लिए काम कर सकता है)। जब मैं संलग्न करने की कोशिश करता consoleapp.exeहूं, तो मुझे संदेश मिलता है ConEmuC.X, PID=5656 Injecting remote into PID=5432 FAILED, code=-111:0x00000057। चूंकि consoleapp.exeमैं एक प्रोग्राम डिबगिंग कर रहा हूं, तो "रिमोट को इंजेक्ट करना" देखकर मुझे संदेह होता है कि कॉनमू द्वारा इस्तेमाल की जाने वाली तकनीक मेरे लिए कभी काम नहीं करेगी - मैं "विदेशी" प्रोग्राम को उस प्रोग्राम को ख़राब करने की अनुमति नहीं दे सकता जो मैं डिबगिंग कर रहा हूं।
गिलेस एसओ- बुराई को रोकना '

120704 बनाने की कोशिश करें। वैकल्पिक मोड आपके लिए काम करेगा।
मैक्सिमस

वैकल्पिक मोड कार्यों के साथ 120704 बनाएँ, धन्यवाद। यदि मैं डिफ़ॉल्ट कंसोल एमुलेटर को प्रतिस्थापित नहीं कर सकता हूं, तो आवेदन शुरू होने के बाद एक बेहतर संलग्न करना कुछ भी नहीं से बेहतर है। मैं यह पता नहीं लगा सकता कि यह एक प्रमुख प्रेस में कैसे होता है
गिल्स एसओ- बुराई को रोकना '

@ मैक्सिमस: मैं आपके महान काम की सराहना नहीं कर सकता। मैं शायद ही कभी विंडोज का उपयोग करता हूं, लेकिन कभी-कभी मुझे मजबूर किया जाता है, और जब मैं होता हूं, मुझे साइगविन या एमएसआई एकीकरण की आवश्यकता होती है। जबकि Console2 में सबसे अच्छा समाधान था जो मैंने अब तक देखा था, यह कुछ हद तक स्पष्ट था। ConEmu बहुत अच्छा है, लेकिन मैं 2 चीजों की कामना करता हूं: 1. इसमें प्रोफाइल के लिए बेहतर सपोर्ट होना चाहिए, यानी इसमें कस्टम कंसोल प्रोफाइल को सेव / डिलीट करने के लिए मैनेजर होना चाहिए (जैसे shसीधे कॉल करना; 2. इसमें विंडो को विभाजित करने की अनुमति होनी चाहिए; कई ऊर्ध्वाधर / क्षैतिज टैब और पुनः आरंभ करने पर इस कस्टम टैब व्यवस्था को याद करते हैं।
2222

@ axel22: आप ConEmu के मुद्दों पर अपनी इच्छाएँ पोस्ट कर सकते हैं । 1. पहले से ही प्रोफाइल हैं। 2. रोडमैप में।
मैक्सिमस

1

आप नहीं कर सकते। Win32 कंसोल हमेशा CSRSS द्वारा उपलब्ध कराए गए कंसोल विंडो का उपयोग करते हैं।


धन्यवाद, अब मुझे पता है कि मैं क्या कर रहा हूँ एक CSRSS प्रतिस्थापन है।
गिल्स एसओ- बुराई को रोकना '

@ गिल्स: इसके साथ शुभकामनाएँ। (वास्तव में, विंडोज 7 पर इसकी कार्यक्षमता का अधिकांश भाग कर्नेल में चला गया है, लेकिन यह अभी भी एक "महत्वपूर्ण प्रक्रिया" है, जो Win32 सबसिस्टम का मूल है और वह सब है।)
user1686

@ गिल्स: फिर एक अलग शेल का उपयोग करें, जैसा कि मैंने कहा। Win32 कंसोल केवल मानक Windows टर्मिनल एमुलेटर है।
paradroid

1
@ jason404: और जैसा कि गिल्स ने कहा, यह शेल (cmd.exe) नहीं है, लेकिन वह कंसोल (टर्मिनल एमुलेटर) जिसे वह बदलना चाहता है, ताकि कंसोल विंडो का उपयोग करने वाला कोई भी प्रोग्राम प्रतिस्थापन का उपयोग करे।
user1686

2
विंडोज 7 के कंसोल विंडो कार्यान्वयन को बाहर ले जाया csrssगया है conhost.exe। अफसोस की बात है, यह अभी भी वही पुराना यूआई है, और जहां तक ​​मुझे पता है, इसके एपीआई अनिर्दिष्ट हैं। पर अधिक blogs.technet.com/b/askperf/archive/2009/10/05/...
AK2
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.