Bagaimana saya bisa mengganti program default yang menyediakan jendela konsol di bawah Windows XP?
Saya tahu program alternatif , dan saya punya jalan pintas untuk memulai cmd.exe
di Console2 . Tapi sekarang saya ingin aplikasi konsol untuk memulai di Console2 daripada program konsol default, bahkan ketika saya tidak memiliki kendali atas program yang memulai aplikasi konsol. (Yaitu program non-konsol dimulai consoleapp.exe
, dan saya tidak dapat mengubahnya untuk memulai Console2 sebagai gantinya, tapi saya masih ingin aplikasi dijalankan di dalam instance baru Console2.)
(Perhatikan bahwa saya ingin mengganti konsol itu sendiri, yaitu, jendela di mana aplikasi konsol (yaitu mode teks) berjalan. Dan saya harus dapat menjalankan aplikasi konsol yang berubah-ubah dan tidak dimodifikasi: pengganti untuk program konsol tertentu seperti Cmd tidak akan ada gunanya bagiku.)
EDIT : Jadi yang saya cari adalah penggantian CSRSS , yang mengarah ke
OT: Saya ingin tahu kapan Microsoft akan membuat penggantian CSRSS yang layak. Tidak dapat menyesuaikan lebar "terminal" dengan mengubah ukuran jendela adalah lelucon yang lengkap.
Pergi unduh ISE. (Ini termasuk dalam Win7 / 2008R2.)
Tapi sejauh yang saya mengerti, ISE ini adalah lingkungan untuk Powershell , bukan emulator konsol umum.
sumber
Jawaban:
Saya seorang penulis ConEmu - emulator konsol Windows. Salah satu fiturnya adalah menangkap ke tab yang ada konsol atau aplikasi GUI sederhana. Jadi, setelah memulai program konsol di konsol standar (CSRSS / ConHost), Anda dapat:
Di menu sistem ConEmu, pilih item "Lampirkan ..." ( Win+ Gsecara default) dan pilih jendela lampiran. Jika ConEmu tidak dimulai, Anda dapat memulainya secara opsional tanpa membuat konsol / tab saat memulai:
Atau, jika berlaku, jalankan di konsol yang dimulai perintah berikut (ConEmu \ Attach.cmd) yang memulai melampirkan dari sisi konsol. Catatan, dalam hal ini, ConEmu.exe (GUI) akan dimulai secara otomatis, jika belum ada.
Ada satu cara lagi. Saya pikir itu tidak sesuai dengan kebutuhan Anda, namun saya akan mengungkapkannya. Ada kunci dalam registri, yang isinya cmd / tcc dijalankan setelah startup konsol. Saat Anda memulai
consoleapp.exe
, jangancmd.exe
lewatkan ini. AdaCmd_Autorun.cmd
file di distribu ConEmu untuk menginstal / menghapus perintah ini.Ada tag di sini, di Superuser.com
UPD . Build 120704. Mode pemasangan alternatif yang tidak mengganggu untuk windows konsol.
UPD2 . Build 121128. Sebagai contoh, dimungkinkan untuk mencegat "pembuatan jendela konsol" dari aplikasi yang ditentukan (oleh pengguna)
explorer.exe,vcexpress.exe
. Baca lebih lanjut tentang fitur eksperimental yang mengganggu ini .sumber
consoleapp.exe
, saya menerima pesan ituConEmuC.X, PID=5656 Injecting remote into PID=5432 FAILED, code=-111:0x00000057
. Karenaconsoleapp.exe
ini adalah program yang saya debug, melihat "menginjeksi jarak jauh" membuat saya curiga bahwa teknik yang digunakan oleh ConEmu tidak akan pernah bekerja untuk saya - saya tidak bisa membiarkan program "asing" mengganggu program yang saya debug.sh
langsung; 2. itu harus memungkinkan pemisahan jendela di banyak tab vertikal / horizontal dan ingat pengaturan tab kustom ini saat restartKamu tidak bisa Konsol Win32 selalu menggunakan jendela konsol bawaan yang disediakan oleh CSRSS.
sumber
csrss
keconhost.exe
. Sayangnya, itu masih UI lama yang sama, dan sejauh yang saya tahu, API-nya tidak terdokumentasi. Lebih banyak di blogs.technet.com/b/askperf/archive/2009/10/05/…