Jak mogę zastąpić domyślny program zapewniający okna konsoli w systemie Windows XP?
Znam alternatywne programy i mam skrót do uruchomienia cmd.exe
w Console2 . Ale teraz chcę, aby aplikacje konsolowe uruchamiały się w Console2 zamiast w domyślnym programie konsolowym, nawet gdy nie mam kontroli nad programem uruchamiającym aplikację konsolową. (Czyli uruchamia się program inny niż konsola consoleapp.exe
i nie mogę go zmienić, aby zamiast tego uruchomić konsolę 2, ale nadal chcę, aby aplikacja była uruchamiana w nowej instancji konsoli 2).
(Pamiętaj, że chcę zastąpić samą konsolę , czyli okno, w którym działają aplikacje konsolowe (tj. Tekstowe). I muszę mieć możliwość uruchamiania dowolnych, niezmodyfikowanych aplikacji konsolowych: zamiennik dla określonego programu konsolowego, takiego jak Cmd nie zrobi mi nic dobrego.)
EDYCJA : Tak więc szukam zamiany CSRSS , która prowadzi do
OT: Chcę wiedzieć, kiedy Microsoft zamierza dokonać porządnej wymiany CSRSS. Brak możliwości dostosowania szerokości „terminala” poprzez zmianę rozmiaru okna to kompletny żart.
Idź już pobrać ISE. (Jest zawarty w Win7 / 2008R2.)
Ale o ile rozumiem ten ISE to środowisko Powershell , a nie ogólny emulator konsoli.
źródło
Odpowiedzi:
Jestem autorem ConEmu - emulatora konsoli Windows. Jedną z jego funkcji jest przechwytywanie na zakładkę istniejących konsol lub prostych aplikacji GUI. Po uruchomieniu programu konsoli w standardowej konsoli (CSRSS / ConHost) możesz:
W menu systemu ConEmu wybierz element „Dołącz ...” ( domyślnie Win+ G) i wybierz okno dołączania. Jeśli ConEmu nie został uruchomiony, możesz go opcjonalnie uruchomić bez tworzenia konsoli / karty podczas uruchamiania:
Lub, jeśli dotyczy, uruchom w uruchomionej konsoli następującą komendę (ConEmu \ Attach.cmd), która inicjuje dołączanie od strony konsoli. Uwaga: w takim przypadku ConEmu.exe (GUI) zostanie uruchomiony automatycznie, jeśli jeszcze nie istnieje.
Jest jeszcze jeden sposób. Myślę, że nie spełnia twoich wymagań, jednak ujawnię to. W rejestrze znajduje się klucz, którego zawartość cmd / tcc wykonuje po uruchomieniu konsoli. Kiedy zaczynasz
consoleapp.exe
, niecmd.exe
tęsknię. WCmd_Autorun.cmd
dystrybucji ConEmu znajduje się plik do zainstalowania / odinstalowania tego polecenia.Jest tu tag na Superuser.com
UPD . Kompilacja 120704. Alternatywny nieinwazyjny tryb dołączania dla okien konsoli.
UPD2 . Kompilacja 121128. Możliwe jest na przykład przechwycenie „tworzenia okna konsoli” z określonych (przez użytkownika) aplikacji
explorer.exe,vcexpress.exe
. Przeczytaj więcej o tej natrętnej funkcji eksperymentalnej .źródło
consoleapp.exe
, otrzymuję wiadomośćConEmuC.X, PID=5656 Injecting remote into PID=5432 FAILED, code=-111:0x00000057
. Ponieważconsoleapp.exe
jest to program, który debuguję, widok „wstrzykiwania zdalnego” sprawia, że podejrzewam, że technika zastosowana przez ConEmu nigdy nie zadziała dla mnie - nie mogę pozwolić, aby „obce” programy zakłóciły program, który debuguję.sh
Bezpośrednie wywoływanie ; 2. powinien umożliwiać podział okna w wiele zakładek pionowych / poziomych i przywołaj ten niestandardowy układ zakładek przy ponownym uruchomieniuNie możesz Konsole Win32 zawsze używają wbudowanych okien konsoli udostępnianych przez CSRSS.
źródło
csrss
doconhost.exe
. Niestety, wciąż jest to ten sam stary interfejs użytkownika i, o ile mi wiadomo, jego interfejsy API są nieudokumentowane. Więcej na blogs.technet.com/b/askperf/archive/2009/10/05/…